截取所有WM_KEYDOWN消息,然后再判断是按下哪个就是了!!
如下:procedure key_down(...);message WM_KEYDOWN
begin
//判断
end;
如下:procedure key_down(...);message WM_KEYDOWN
begin
//判断
end;
解决方案 »
- 200 分求购vclzip 3.03的源码
- FastReport問題,急!
- 事件共享问题——————在线等待!!!
- shape控件的图标上有一个三角形,意思肯定是shape支持三角形了。为甚末我找不到呢?
- 请教ShellListView和ShellTreeView中的问题?
- 请教
- 如何在运行时给adoconnection的connectionstring赋值?急
- 100分关于打印预览的问题,以前看到过财务软件在打印预览的内容可以编辑,修改,增加都可以,不知道什么打印控件或方法能实现!!!
- delphi有插入flash的控件吗????
- 高人:DefaultDrawColumnCell(Rect, DataCol, Column, State)括号里的参数各代表什麽意识,如能解答在在下感激不禁,急急急!!!
- 如何动态跟踪系统时间???????????
- 请问高手,如何显示Word内容?
begin
if Key = VK_TAB then
begin
//你要干的事
end;
end;
先定义一个全局变量 NeedCatch:Boolean
procedure TMainForm.AppMsg(var Msg:TMsg;var Handled:Boolean);
begin
if Msg.message=WM_KEYDOWN then
begin
if NeedCatch then
Handled:=True;//拦截住
end;
end;
procedure key_down(var Msg:TMessage);message WM_KEYDOWN
begin
NeedCatch:=False;
if 条件满足 then
NeedCatch:=true;
inherited;
end;
procedure MainForm.FormCreate(Sender:TObject);
begin
Application.OnMessage:=AppMsg;
end;