解决方法是在CDialog::PreTranslateMessage() 的重载函数中将ESC和回车按键的消息处理掉.
直接上代码:
CResultCollectorDlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_KEYDOWN) {
switch(pMsg->wParam) {
case VK_RETURN: //回车
return TRUE;
case VK_ESCAPE: //ESC
return TRUE;
}
}
return CDialog::PreTranslateMessage(pMsg);
}