默认的,MFC里面当对话框弹出后,按“Esc”键对话框会退出。但有时候想屏蔽这个功能,思路就是屏蔽WM_KEYDOWN消息中的VK_ESCAPE
先添加PreTranslateMessage函数,然后再里面添加一下代码段:
BOOL CXXXDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message == WM_KEYDOWN)
{
switch (pMsg->wParam)
{
case VK_ESCAPE:
return TRUE;
}
}
return CDialog::PreTranslateMessage(pMsg);
}
按“Esc”键直接返回,不做任何响应。也就是拦截这个消息。