绝大数消息响应都要通过函数CMYDlg::PreTranslateMessage(MSG* pMsg)然后在传递到函数CMYDlg::TranslateMessage(MSG* pMsg),所以我们可以通过重载CMYDlg::PreTranslateMessage(MSG* pMsg)进行相应的处理
实现代码如下:
BOOL CYourDlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message==WM_KEYDOWN&&pMsg->wParam==VK_RETURN) //判断Enter键是否被按下
return TRUE; //在这里添加 应的处理的代码
if(pMsg->message==WM_KEYDOWN&&pMsg->wParam==VK_ESCAPE) //判断ESC键是否被按下
return TRUE;
return CDialog::PreTranslateMessage(pMsg);
}