1、在onkeyup事件函数里面什么都不写。 2、重载tform.wndproc,当遇到wm_keyup的时候令result:=1; 3、在tform里面声明procedure wmkeyup(var msg:tmessage);message wm_keyup;并令其implememtation为空。 4、改变application.onmessage为自己的处理函数,遇到wm_keyup消息的时候令handled:=true; 5、建立自己的消息循环: procedure mymsgloop; var msg:tmsg; begin while getmessage(msg,0,0,0) do begin if msg.message=wm_keyup then continue; translatemessage(msg); dispatchmessage(msg); end; halt; end;//formcreate的时候调用即可。
我也赞同Override WNDPROC消息/ by LY http://www.99898.com/www/lysoft
2、重载tform.wndproc,当遇到wm_keyup的时候令result:=1;
3、在tform里面声明procedure wmkeyup(var msg:tmessage);message wm_keyup;并令其implememtation为空。
4、改变application.onmessage为自己的处理函数,遇到wm_keyup消息的时候令handled:=true;
5、建立自己的消息循环:
procedure mymsgloop;
var
msg:tmsg;
begin
while getmessage(msg,0,0,0) do
begin
if msg.message=wm_keyup then continue;
translatemessage(msg);
dispatchmessage(msg);
end;
halt;
end;//formcreate的时候调用即可。