怎样让程序响应系统键操作,如F1~F8?(90分)

  • 主题发起人 主题发起人 lyloyal
  • 开始时间 开始时间
L

lyloyal

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样让程序响应系统键操作,如F1~F8? 我的意思是当按下F1或其它键时让程序执行某些
操作,这样的windows消息程序怎获得,请举例说明,thanks
 
和其他键一样,不过OnKeyDown事件判断 Key=VK_F1 到 VK_F8
 
用一个菜单,高定快捷就行了呀
 
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_F1 then
showmessage('f1');
end;
 
要全局响应功能键,应该实现TApplicationEvent的OnMessage事件,如下面的过程
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if Msg.message=WM_KeyDown then
if msg.wParam=vk_f1 then
begin
ShowMessage('AAAAAAAAAAAAAAA');
handled:=True;
end;
end;
 
把窗体的keypreview改为true。然后在OnKeyDown事件中判断就可以了。
 
djdsz 兄的对!这个函数的作用相当于 
vc 里的WndProc什么都通过这个函数
 
窗体失去焦点怎么办,不使用KeyDown事件怎样实现?
 
to djdsz:TApplicationEvent的OnMessage事件在程序的什么地方,能否详细说明
thanks!
 
可用hook或用registerhotkey,在已答问题中有
 
设置SHUTCUT了
或者在 ONKEYDOWNs事件中写了 ,判断KEY值
 
Additional页上有一个TApplicationEvent控件的。
 
后退
顶部