|
|
发表于 2005-3-29 17:31:00
|
显示全部楼层
Re:怎么让自画的假文本框接收输入法的输入消息?
呵呵干嘛说的那么复杂啊!
其实是很简单的.
我不会C++
以下是DELPHI实现方法
通过输入法发到窗体的汉字是这个消息 $0286
消息接受后触发这个过程,这个是处理汉字的!
procedure TForm1.WMSize(var Message: TMsg);
var
temp:string;
begin
temp:=chr(message.message shr 8)+chr(message.message mod 256);
label1.Caption:=label1.Caption+temp;
end;
英文的消息我就不知道了,因为DELPHI有ONKeyDown事件
因为特殊字符等都能触发这个事件,所以做了点判断
已经处理了 Backspace 按钮
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key>32)and(key<129) then
begin
label1.Caption:=label1.Caption+chr(key);
end;
if key=8 then
begin
if ord(label1.Caption[length(label1.Caption)])<=129 then
begin
label1.caption:=copy(label1.Caption,1,length(label1.Caption)-1);
end
else
begin
label1.caption:=copy(label1.Caption,1,length(label1.Caption)-2);
end;
end;
end;
label1.Caption 是一个标签
用来显示输入的汉字 |
|