求助:如何在中文输入中获取Key的值?????急!急!急!急!50金币(50分)

L

lingb

Unregistered / Unconfirmed
GUEST, unregistred user!
在英文输入状态下,在keydown事件中获取key的值,比如输入‘a’,活得的key的值是65,
这是正常的,但是在中文输入的状态下,活得的key的值是229,按下任何键活得的key的值
都是229!怎么搞呀???请各位高手赐教呀!!!50金币赠送!!不甚感激!!!
 
procedure TForm1.FormKeyPress(Sender: TObject;
var Key: Char);
begin
Label1.Caption :=InttoSTr(Ord(Key));
end;
 
搞不定呀,还是229呀!!是在keydown事件中;在keypress中也不能这样搞呀!
:(痛苦呀。。。。在中文输入的状态下,按下任何与输入字有关的键???(比如在紫光
输入法中,输入时候写入‘a’,获得key的值为229,但是输入数字键就正常;在区位输入法中输入数字键就都是获得229,输入其他就正常)获得的key的值
都是229!怎么搞呀
 
呵呵!这是IMM的关系咯。
因为你打的是输入法要用的键,所以返回的是229。
 
那应该怎么办呀begin
Delphi哥哥?:(~~`
 
用勾子吧。
 
什么是勾子呀??俺是delphi初学者,不要说的这么简单呀!!
 
呵呵!
简单的方法,用OnKeyUP吧。想想,没有人按下键不放的。
IME一般会改KeyDown,因为它用到KeyDown,但没有用KeyUP,呵呵!
用KeyUP得出的Key就是对的。
用钩子我没试过,我试试先,呵呵!去也。
 
多人接受答案了。
 
顶部