基于话框的程序接收键盘消息.txt

来自「vc使用技巧汇集」· 文本 代码 · 共 12 行

TXT
12
字号
基于话框的MFC程序,在那里面的OnKeyDown()却不可以接收并处理键盘消息,烦各位高手指点为什么,及该如何办才好.

在OnInitDialog()中加载快捷键,在对话框头文件中声明:
HACCEL m_hAccel;
m_hAccel = ::LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_ACCELERATOR1));
然后重载PreTranslateMessage函数,在
PreTranslateMessage(MSG* pMsg)
{
    ::TranslateAccelerator(this->GetSafeHwnd(),m_hAccel,pMsg);
    return CDialog::PreTranslateMessage(pMsg);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?