基于对话框MFC按Enter键或者Ese退出的解决方法
今天在用VC++6.0写数据库软件时。偶然发现单击回车键enter时,程序会突然退出。并且窗口开始时的默认确定按钮已经被我删除了,所以必要的措施必然做出,VC MFC 屏蔽ESC和ENTER键关闭对话框
解决途径:
在你的C...Dlg.h文件中添加重载函数PreTranslateMessage(MSG* pMsg)
具体代码
protected:
virtual BOOL PreTranslateMessage(MSG* pMsg);
// 屏蔽客户输入esc键或enter键退出程序
BOOL CSQLDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_ESCAPE)// 屏蔽esc键
{
return TRUE;// 不作任何操作
}
if (pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN)// 屏蔽enter键
{
return TRUE;// 不作任何处理
}
return CDialog::PreTranslateMessage(pMsg);
}
完美解决问题