转自http://leadtheway.iteye.com/blog/803536【MFC/JAVA好文章博客】
MFC 中默认回车或ESC 会关闭对话框,解决办法:
对于有对话框的类,点击右键,virtual function ,添加PreTranslateMessage ,然后Edit ,写入如下代码:
BOOL CForm::PreTranslateMessage(MSG* pMsg)
{
{
// 屏蔽 回车和ESC 键
// 屏蔽ESC 键退出
if (pMsg->message == WM_KEYDOWN && pMsg->wParam == 0x1b)
return TRUE;
// 回车
if (pMsg->message == WM_KEYDOWN && pMsg->wParam == 0x0d )
return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}
或
BOOL CPictureDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message==WM_KEYDOWN&&pMsg->wParam==VK_RETURN)
return TRUE;
if(pMsg->message==WM_KEYDOWN&&pMsg->wParam==VK_ESCAPE)
return TRUE;
return CDialog::PreTranslateMessage(pMsg);
}
问题解决。