PreTranslateMessage是消息在送给TranslateMessage函数之前被调用的,绝大多数本窗口的消息都要通过这里,比较常用,当你需要在MFC之前处理某些消息时,常常要在这里添加代码.
声明:
virtual BOOL PreTranslateMessage(MSG* pMsg);
拦截回车和ESC键:
BOOL C***Dlg::PreTranslateMessage(MSG* pMsg)
{
if ((WM_KEYDOWN == pMsg->message && VK_ESCAPE == pMsg->wParam)
|| (WM_KEYDOWN == pMsg->message && VK_RETURN == pMsg->wParam)) {
return TRUE;
}
else
return CDialog::PreTranslateMessage(pMsg);
}