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);
}
------山的那一边