基于微软MFC框架,设置热键响应:
通过输入CTRL
+G
组合按键完成文件选择框弹出:
目标:
按下CTRL
+G
,弹出文件选择框
过程:文章来源地址https://www.toymoban.com/news/detail-757836.html
- 头文件添加消息申明
protected:
afx_msg void OnHotKey(UINT nHotKeyId, UINT nKey1, UINT nKey2);
- cpp文件添加消息映射
BEGIN_MESSAGE_MAP(YourMainDialog, CDialogEx)
// 其他消息映射
ON_WM_HOTKEY()
END_MESSAGE_MAP()
- OnInitDialog添加全局热键注册
BOOL YourMainDialog::OnInitDialog()
{
CDialogEx::OnInitDialog();
// 注册全局热键Ctrl + G,ID为1
RegisterHotKey(GetSafeHwnd(), 1, MOD_CONTROL, 'G');
return TRUE;
}
- 实现热键功能函数
void YourMainDialog::OnHotKey(UINT nHotKeyId, UINT nKey1, UINT nKey2)
{
if (nHotKeyId == 1)
{
// Ctrl + G 被触发
// 弹出文件选择框
CString strFilter = _T("All Files (*.*)|*.*||");
CFileDialog fileDlg(TRUE, NULL, NULL, OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, strFilter, this);
if (fileDlg.DoModal() == IDOK)
{
// 用户选择了文件,可以在这里处理选中的文件
CString filePath = fileDlg.GetPathName();
// 处理文件路径...
}
}
CDialogEx::OnHotKey(nHotKeyId, nKey1, nKey2);
}
MFC键盘宏定义:
功能键:
- VK_TAB: Tab键。
- VK_SPACE: 空格键。
- VK_BACK: 退格键(回退键)。
- VK_DELETE: 删除键。
- VK_INSERT: 插入键。
- VK_HOME: Home键。
- VK_END: End键。
- VK_PRIOR: Page Up键。
- VK_NEXT: Page Down键。
方向键:
- VK_LEFT: 左箭头键。
- VK_RIGHT: 右箭头键。
- VK_UP: 上箭头键。
- VK_DOWN: 下箭头键。
功能键:
- VK_F1 ~ VK_F24: F1 ~ F24键。
数字键:
- VK_0 ~ VK_9: 数字0 ~ 数字9键。
字母键:
- VK_A ~ VK_Z: 字母A ~ 字母Z键。
符号键:
- VK_OEM_1: 分号键(;)或冒号键(:)。
- VK_OEM_PLUS: 加号键(+)或等于键(=)。
- VK_OEM_COMMA: 逗号键(,)或小于键(<)。
- VK_OEM_MINUS: 减号键(-)或下划线键(_)。
- VK_OEM_PERIOD: 句号键(.)或大于键(>)。
- VK_OEM_2: 斜杠键(/)或问号键(?)。
- VK_OEM_3: 反引号键(`)或波浪号键(~)。
- VK_OEM_4: 左方括号键([)或左花括号键({)。
- VK_OEM_5: 反斜杠键(\)或竖线键(|)。
- VK_OEM_6: 右方括号键(])或右花括号键(})。
- VK_OEM_7: 单引号键(')或双引号键(")。
文章来源:https://www.toymoban.com/news/detail-757836.html
到了这里,关于基于MFC的键盘响应(热键触发事件)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!