做热键
在对话框的OnInitDialog函数中
RegisterHotkey(
GetSafeHwnd(), //窗口句柄
0x0001, //热键的ID,每个热键不同
MOD_CONTROL¦MOD_SHIFT, //辅助键
VK_X //基本键
);
//上面的函数定义了Ctrl+Shift+X热键,ID为0x0001
2.响应WM_HOTKEY消息
因为WM_HOTKEY不是常用的消息,需自己添加消息映射
在对话框头文件里定义响应函数
afx_msg void OnMyHotKey(
WPARAM wParam, // hot key identifier
LPARAM lParam // options and virtual-key code
);
在BEGIN_MESSAGE_MAP(CDlgDlg, CDialog)
和
END_MESSAGE_MAP()中间写上
ON_MESSAGE(WM_HOTKEY,OnMyHotKey)
下面是OnMyHotKey的实现
void CDlgDlg::OnMyHotKey(WPARAM wparam,LPARAM lParam)
{
if(wParam==0x0001)//是我们定义的热键
{
MessageBox("A");
}
}//对于SDI(MDI)程序,依次类推!
在对话框的OnInitDialog函数中
RegisterHotkey(
GetSafeHwnd(), //窗口句柄
0x0001, //热键的ID,每个热键不同
MOD_CONTROL¦MOD_SHIFT, //辅助键
VK_X //基本键
);
//上面的函数定义了Ctrl+Shift+X热键,ID为0x0001
2.响应WM_HOTKEY消息
因为WM_HOTKEY不是常用的消息,需自己添加消息映射
在对话框头文件里定义响应函数
afx_msg void OnMyHotKey(
WPARAM wParam, // hot key identifier
LPARAM lParam // options and virtual-key code
);
在BEGIN_MESSAGE_MAP(CDlgDlg, CDialog)
和
END_MESSAGE_MAP()中间写上
ON_MESSAGE(WM_HOTKEY,OnMyHotKey)
下面是OnMyHotKey的实现
void CDlgDlg::OnMyHotKey(WPARAM wparam,LPARAM lParam)
{
if(wParam==0x0001)//是我们定义的热键
{
MessageBox("A");
}
}//对于SDI(MDI)程序,依次类推!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货