`

关于MFC中回车关闭对话框的问题的解决(转)

    博客分类:
  • C++
MFC 
阅读更多


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);
}

 

问题解决。

分享到:
评论

相关推荐

    VC++屏蔽对话框按ESC或ENTER键退出

    摘要:VC/C++源码,界面编程,对话框 VC++如何屏蔽窗体对话框按ESC或ENTER键退出的功能,也就是说,当窗体打开的时候,按ESC或ENTER键不能关闭窗口,也就是让这两个键失效,源码实例运行截图如上所示,不过从截图上...

    阻止弹窗程序 弹窗免疫程序

    目前我做的只是阻止弹出对话框,是根据窗口标题来阻止的,启动程序后在编缉控件中输入窗口标题,如果要输入多个就用空格或回车隔开,然后按开始就可以在以此为标题对话框在刚建立时就被自动关闭,就像没看到它们出现一样....

    创建一个不可关闭的对话框VC源代码

    这样就不能用回车关闭此程序。如果只是简单的删除确定按钮是不行的。 当然了,要是关闭计算机之类的操作,那就没办法了。 此程序我目前想不到有什么实际用途,不过用来搞恶作剧还是不错的。 sghanmail@ 关键字:...

    vc 弹窗拦截程序-阻止创建窗口源码.rar

    阻止创建窗口,基于MFC实现,本弹窗拦截程序主要是根据窗口标题来阻止的,启动程序后在编缉控件中输入窗口标题,如果要输入多个就用空格或回车隔开,然后按开始就可以在以此为标题对话框在刚建立时就被自动关闭,就像没...

    VC学习大纲 VC学习讲义

    如何为程序中添加选项菜单和选项设置对话框,如何使用标准颜色对话框,窗口重绘原理,在选项对话框中实现预览功能。实现选项对话框和窗口类中的数据交换。 第十三课: 如何让CDC上输出的文字、图形具有保持功能,元...

    VC++常用功能实例

    ◆当对话框中有一个滚动条是,当滚动滚动条时的消息控制函数◆ 27 ◆将一个CWnd指针转换成一个控件ID(整数)注意用GetDlgItem()函数是从一个控件ID转换成一个CWnd的指针◆ 28 ◆如果在对话框中自定义一个消息的方法,...

    VC++常用的共用函数100多页

    ◆当对话框中有一个滚动条是,当滚动滚动条时的消息控制函数◆ 27 ◆将一个CWnd指针转换成一个控件ID(整数)注意用GetDlgItem()函数是从一个控件ID转换成一个CWnd的指针◆ 28 ◆如果在对话框中自定义一个消息的方法,...

    Visual C++编程技巧精选集 光盘

    21.如何从“文件”对话框中获取文件标题名 22.如何从“文件”对话框中获取文件扩展名 23.如何在“文件”对话框中预览位图文件 24.如何创建一个文件“保存”对话框 25.如何在程序启动时弹出“文件”对话框 26.如何从...

    代码语法错误分析工具pclint8.0

    如果将pclint集成到SourceInsight中,那就相当于给SourceInsight增加了一个C/C++编译器,而且它的检查更严格,能发现一些编译器发现不了的问题,可以大大减少程序中潜伏的BUG。这样的话,相信更多人会喜欢Source...

    多媒体教室

    注: TCP/IP 设置完成后请用 PING 命令验证网络是否连通,如网络不通请尝试检查相应网络设备、重新安装 TCP/IP 协议等手段来解决问题。  2.3产品安装  教师机的安装 1. 插入安装光盘后会自动运行安装程序,进入...

    Radmin自动登录器v3.0-多国语言绿色版-Release1-20150615

    建议先将某条已有记录设置为强制代理,再到新建记录或编辑记录对话框中填写为私有代理;当然,若熟悉后也可以手工填写。 (3)、被用作私有代理字段AsProxyBy AsProxyBy是被用作私有代理字段,用于存放该记录被其它...

    Radmin自动登录器v3.0

    建议先将某条已有记录设置为强制代理,再到新建记录或编辑记录对话框中填写为私有代理;当然,若熟悉后也可以手工填写。 (3)、被用作私有代理字段AsProxyBy AsProxyBy是被用作私有代理字段,用于存放该记录被其它...

Global site tag (gtag.js) - Google Analytics