您的位置:首页 > 其它

MFC 给对话框注册热键

2016-03-15 13:41 429 查看

在头文件中添加:

//}}AFX_MSG
afx_msg LRESULT OnHotKey(WPARAM wParam,LPARAM lParam);//(此行为加入的)
BEGIN_MESSAGE_MAP(DlgYesNo, CDialog)
//{{AFX_MSG_MAP(DlgYesNo)

在cpp文件中加入:
//}}AFX_MSG_MAP

ON_MESSAGE(WM_HOTKEY,OnHotKey) //(此行为加入的)
END_MESSAGE_MAP()

以上步骤也可以在 "类向导" 中添加消息 WM_HOTKEY 消息的方法产生

在OnCreat事件里加入:(添加消息响应 -> WM_CREAT)
RegisterHotKey(m_hWnd,1001,MOD_ALT,’ Q’);

在OnDestroy事件里加入::(添加消息响应 -> WM_DESTROY)
UnregisterHotKey( m_hWnd, 1001);

加入消息处理函数:(粘贴进去就行了,注意CHotkeyDlgDlg改为自己的类)

LRESULT CHotkeyDlgDlg::OnHotKey(WPARAM wParam,LPARAM lParam)

{

if(wParam == 1001)

{

int nMod = LOWORD(lParam);

int Vk = HIWORD(lParam);

CString str;

str.Format(_T("Mod = %d, Vk = %d"), nMod, Vk);

AfxMessageBox(str);

}

return true;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: