热键控件(Hot Key)

来源:互联网 发布:淘宝女士内裤 编辑:程序博客网 时间:2024/05/21 11:40
void CHotkeyDemoDlg::OnBtnRegister() {// TODO: Add your control notification handler code here//取得热键控件的输入WORD wVK = 0 ,wMod = 0;m_hotkey.GetHotKey(wVK , wMod);///将热键返回的控制键转换为标准的控制键代码int nNewMod = 0;if(wMod & HOTKEYF_ALT)nNewMod |= MOD_ALT;if(wMod & HOTKEYF_CONTROL)nNewMod |= MOD_CONTROL;if(wMod & HOTKEYF_SHIFT)nNewMod |= MOD_SHIFT;///如果没有正确的输入,退出函数if(wVK == 0 || nNewMod == 0){AfxMessageBox(_T("请输入热键!"));return ;}///注册热键,如果注册成功,隐藏窗口if(RegisterHotKey(m_hWnd , 1 ,nNewMod ,wVK))this->ShowWindow(SW_HIDE);elseAfxMessageBox(_T("注册失败!"));}///再次按下注册为hot key identifier的控件时触发WM_HOTKEY消息///WM_HOTKEY的消息响应函数void CHotkeyDemoDlg::OnHotkey(WPARAM wp ,LPARAM lp){if(wp == 1)///这个1和注册时那个1对应{///显示窗体this->ShowWindow(SW_SHOW);///释放热键UnregisterHotKey(m_hWnd ,1);}}


界面设置及运行时画面

控件ID为IDC_HOTKEY,关联变量m_hotkey;

按钮ID为IDC_BTN_REGISTER


原创粉丝点击