vc++ 怎么给button设置热键
答案:2 悬赏:10 手机版
解决时间 2021-03-02 16:35
- 提问者网友:富士山上尢
- 2021-03-02 01:42
比如按f4键的时候,这个按钮就等于手动点击
最佳答案
- 五星知识达人网友:雪起风沙痕
- 2021-03-02 02:33
有一组API专门用于实现热键 RegisterHotKey
if (RegisterHotKey(this->GetSafeHwnd(),0,MOD_CONTROL | MOD_ALT,VK_F1) &&
RegisterHotKey(this->GetSafeHwnd(),1,MOD_CONTROL | MOD_ALT,VK_F2))
{
MessageBox("注册热键成功!");
}
else
{
MessageBox("注册热键失败!");
}
销毁热键用
if (UnregisterHotKey(this->GetSafeHwnd(),0) &&
UnregisterHotKey(this->GetSafeHwnd(),1))
{
MessageBox("卸载热键成功!");
}
else
{
MessageBox("卸载热键失败!");
}
这种方法设置热键需要处理消息 WM_HOTKEY
ON_MESSAGE(WM_HOTKEY,OnHotKey)
消息处理函数
LRESULT CHotKeyDlg::OnHotKey(WPARAM wParam,LPARAM lParam)
{
if (wParam == 0)
{
MessageBox("Ctrl + Alt + F1 被按下");
}
else
{
MessageBox("Ctrl + Alt + F2 被按下");
}
return 1;
}
具体参数你可以通过MSDN或者网上查下。
if (RegisterHotKey(this->GetSafeHwnd(),0,MOD_CONTROL | MOD_ALT,VK_F1) &&
RegisterHotKey(this->GetSafeHwnd(),1,MOD_CONTROL | MOD_ALT,VK_F2))
{
MessageBox("注册热键成功!");
}
else
{
MessageBox("注册热键失败!");
}
销毁热键用
if (UnregisterHotKey(this->GetSafeHwnd(),0) &&
UnregisterHotKey(this->GetSafeHwnd(),1))
{
MessageBox("卸载热键成功!");
}
else
{
MessageBox("卸载热键失败!");
}
这种方法设置热键需要处理消息 WM_HOTKEY
ON_MESSAGE(WM_HOTKEY,OnHotKey)
消息处理函数
LRESULT CHotKeyDlg::OnHotKey(WPARAM wParam,LPARAM lParam)
{
if (wParam == 0)
{
MessageBox("Ctrl + Alt + F1 被按下");
}
else
{
MessageBox("Ctrl + Alt + F2 被按下");
}
return 1;
}
具体参数你可以通过MSDN或者网上查下。
全部回答
- 1楼网友:躲不过心动
- 2021-03-02 03:15
设置什么文件
要是创建文件酒店c++ source file
要是头文件就点c/c++ header file
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯