MFC对话框里不响应按键事件的解决办法


原因:MFC在进行设计的时候,这两个消息被对话框上的控件截获了,不能到达消息响应函数。
1,在窗口类的声明时添加一个虚函数:virtual BOOL PreTranslateMessage(MSG* pMsg);
2,在.cpp 中实现。
BOOL CCustomJobSetDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if (WM_KEYDOWN == pMsg->message) {
if(!(GetKeyState(VK_SHIFT) < 0)) {
switch(pMsg->wParam) {
case VK_PRIOR:
case VK_NEXT:
case VK_END:
case VK_HOME:
case VK_LEFT:
case VK_UP:
case VK_RIGHT:
case VK_DOWN:
return 1;
}
}
}

return CDialog::PreTranslateMessage(pMsg);
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM