Blog信息 |
blog名称:注册会计师(注会)练习软件 日志总数:398 评论数量:116 留言数量:27 访问次数:3265595 建立时间:2005年6月6日 |

| |
[delpih编程]delphi定义本窗体中的热键 软件技术
吕向阳 发表于 2009/3/12 0:51:24 |
....protectedprocedure hotykey(var msg: TMessage); message WM_HOTKEY;//定义消息响应事件private{ Private declarations }public{ Public declarations }end;varformmp3: Tformmp3;id, id2: Integer;//定义热键全局变量....procedure Tformmp3.FormShow(Sender: TObject);begin//初始注册热键id := GlobalAddAtom('hotkey');RegisterHotKey(handle, id, 0, vk_space); // mod_control//id2 := GlobalAddAtom('hotkey2');RegisterHotKey(handle, id2, 0, 82);end;procedure Tformmp3.hotykey(var msg: TMessage);beginif self.active = false then //如果当前窗体不在激活状态,则取消注册热键,不影响其他软件beginUnRegisterHotKey(handle, id);UnRegisterHotKey(handle, id2);exit;end;//如果是激活状态if (msg.LParamHi = vk_space) and (self.Active = true) thenbegin//ShowMessage('Ctrl + Q ');mp3player.Pause;end;if (msg.LParamHi = 82) thenbeginShowMessage('Ctrl + R ');end;end;procedure Tformmp3.FormPaint(Sender: TObject);begin//回到焦点时肯定要刷新,这时重新注册,可用一个全局变量控制不重复注册id := GlobalAddAtom('hotkey');RegisterHotKey(handle, id, 0, vk_space); // mod_controlid2 := GlobalAddAtom('hotkey2');RegisterHotKey(handle, id2, 0, 82);end; |
|
|