keypress 中是得不到中文输入的,你可以看一看输入法的帮助。
或者用spy看一看消息,中文大多数是WM_CHAR消息而不是WM_KEYDOWN等消息。所以KeyPress里是得不到中文的。
或者用spy看一看消息,中文大多数是WM_CHAR消息而不是WM_KEYDOWN等消息。所以KeyPress里是得不到中文的。
解决方案 »
- 如何解决错误:unit QRprev was compiled with a different version of comctrls.TToolBar
- 我的网站上falsh跑的飞快
- 在ActiveForm上使用OpenDialog,IE闪烁很厉害!
- 我是新手,能帮个忙么,各位大虾
- UltraEdit-32 V10.1 的注冊碼? 順便送些分,反正分數多的是!
- 如何编写WindowNT/2000的服务程序
- 在delphi中怎么用BDE与access相连?
- 《传奇》居然是用DELPHI编的!
- 高分请教 delphi中listview问题
- 给所有组件设置某个属性的值
- 简单问题,答者得分(在线等候,请各位帮忙啊!!!!!!!!!)
- 我是新手,请问如何设计返回值窗口。
KeyPress就是响应WM_CHAR消息而不是响应WM_KEYDOWN消息的。
KeyDown才是响应WM_KEYDOWN消息的。
var
DblChr:Array[0..1] of Char = (#0,#0);
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key > #127 then
if DblChr[0] = #0 then
DblChr[0] := Key
else
begin
DblChr[1] := Key;
Label1.Caption := Label1.Caption + String(DblChr);
DblChr[0] := #0;
end
else
label1.Caption := Caption + Key;
end;
表现正常。
你查查IME应该查的到。