基于对话框MFC按Enter键或者Ese退出的解决方法

原创 2015年11月17日 17:04:37

基于对话框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);
}


完美解决问题

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

对话框的MFC,为什么一点回车键,程序就退出

对话框如何屏蔽回车键enter     当用户按下回车键时,Windows发送一个特殊的WM_GETDEFID消息来获得缺省的命令ID,Windows再将它作为WM_COMMAND发送。所以,你...

MFC_解决按下回车键退出程序的问题

基于对话框的MFC,解决回车键程序退出问题   对话框如何屏蔽回车键enter       当用户按下回车键时,Windows发送一个特殊的WM_GETDEFID消息来获得缺省的命令...

如何在对话框中响应回车键而不关闭对话框

解决方法:重载系统函数BOOL PreTranslateMessage(MSG *pMsg);在该函数中做出对回车键的响应/**************************设置对按键的响应****...
  • th0624
  • th0624
  • 2010年01月26日 15:22
  • 2204

MFC中防止Enter和ESC关闭对话框的方法

测试环境:Win7_64bit + VS2013 原因分析: 1.按Enter为什么会关闭窗口? 在对话框有焦点的情况下,按Enter会自动触发每个对话框自带的默认“确定“按钮,从而触发...

MFC实现编辑框对回车键的响应

首先把文本编辑框属性里的want return选上。 然后可以通过重载虚函数PreTranslateMessage()对所关心的消息进行解析: BOOL CTestView::PreTransl...

MFC Dialog 屏蔽Enter和Esc按下时自动退出程序

当我们新建一个MFC Dialog应用程序。如何屏蔽掉按Enter键、ESC键时出自动退出程序的现象?在网上搜了一下,发现可以重载重载PreTranslateMessage函数,来屏蔽这两个按键的功能...
  • jk0o0
  • jk0o0
  • 2011年01月06日 16:09
  • 3140

[MFC]解决回车键 ESC 默认关闭窗口的一般方法

在一般情况下编写的对话框程序,用户在运行的时候,如果不注意按下了ENTER或者ESC键,程序就会立刻退出,之所以会这样,是因为按下Enter键时,Windows就会自动去找输入焦点落在了哪一个按钮上,...

MFC 回车(Enter) 不退出对话框方法

对话框有一个单行的Edit控件,一回车对话框就退出了,怎么办? 重载OnOK 当焦点在对话框上是才退出,否则执行指定的处理步骤 void XXXDlg::OnOK() { if(GetDlgIt...
  • iamoyjj
  • iamoyjj
  • 2011年04月16日 21:27
  • 10513

MFC子对话框建立与关闭

主void CMoshiwindowDlg::OnButton1() {     // TODO: Add your control notification handler code here...
  • BBRsher
  • BBRsher
  • 2010年12月21日 00:52
  • 20102

mfc关闭模态dialog的正确方式

在模态对话框中: 正常的用户触发的OnOK 、OnCancel消息都是通过调用函数EndDialog去关闭模态对话框的,EndDialog函数并不立即清除对话框。而是设置一个标志,并且允许对话框应用...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:基于对话框MFC按Enter键或者Ese退出的解决方法
举报原因:
原因补充:

(最多只允许输入30个字)