在PreTranslateMessage里面,判断来的消息类型,如果是按下键盘的消息,并且是ESC或者是回车键,那么返回。其他的话,就还是使用基类的 PreTranslateMessage.
在dialog里面,每个dialog类都要添加此函数
BOOL PreTranslateMessage(MSG* pMsg);
BOOL CIrisDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
if (pMsg->message == WM_KEYDOWN)
{
switch (pMsg->wParam)
{
case VK_RETURN:
//MessageBox(_T("回车键按下"));
return TRUE;
case VK_ESCAPE:
//MessageBox(_T("ESC键按下"));
return TRUE;
default:
break;
}
}
return CDialog::PreTranslateMessage(pMsg);
}