转:MFC中屏蔽ESC和回车关闭对话框
解决方法是在 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);
- }
这样,在对话框上就不会响应回车键和退出键了
但是,这样有个问题, 就是在按钮上按ENTER键也没有反应了, 所以这还不能达到要求
因为回车键enter处理的是CDilog::OnOk()函数,因此,我们重载以下此函数,并在PreTranslateMessage()函数中只屏蔽ESC就可以了
- CResultCollectorDlg::OnOk()
- {
- // 空函数即可
- }
参考资料:
http://topic.csdn.net/t/20030311/11/1515901.html
转:MFC中屏蔽ESC和回车关闭对话框的更多相关文章
- MFC非模态对话框中屏蔽ESC键
个人的编程经验认为:对于非模态对话框,按下ESC键和点击红叉都会响应OnCancel()函数,而不会去响应OnClose()函数. 我们都知道,如果想屏蔽Enter键,只须重写OnOK()函数即可(重 ...
- dialog里屏蔽ESC和回车
重载PreTranslateMessage,在return之前加一句判断,只要是按下ESC和回车的消息,就直接置之不理即可,代码如下: if( pMsg->message == WM_KEYDO ...
- MFC中关于子进程创建和关闭操作
创建子进程 PROCESS_INFORMATION ProcessInfo; STARTUPINFO StartupInfo; //This is an [in] parameter ZeroMemo ...
- MFC中属性表单和向导对话框的使用
每次在使用MFC创建一个框架时,需要一步步选择自己的程序的外观,基本功能等选项,最后MFC会生成一个基本的程序框架,这个就是向导对话框:而属性表单则是另外一种对话框,表单上有多个属性页,每点击某一页, ...
- MFC中打开一个获取路径的对话框
不废话,上代码 CString m_FileDir; BROWSEINFO bi; ZeroMemory(&bi, sizeof(BROWSEINFO)); bi.hwndOwner = m_ ...
- MFC中的模态对话框与非模态对话框
模态对话框创建: MyDialog mydlg; mydlg.DoModal() 当前只能运行此模态对话框,且停止主窗口的运行,直到模态对话框退出,才允许主窗口运行. 模态对话框的关闭顺序: OnCl ...
- MFC对话框程序 屏蔽ESC和ENTER键关闭对话框的方法
http://blog.csdn.net/xgx198831/article/details/6713651 MFC对话框程序 屏蔽ESC和ENTER键关闭对话框的方法 或许还有其它更好的办法,但下 ...
- VC MFC 屏蔽ESC和ENTER键关闭对话框
方法一: 窗体头文件中加入: protected: virtual BOOL PreTranslateMessage(MSG* pMsg); // PreTranslateMessage是消息在送给T ...
- [MFC]解决回车键 ESC 默认关闭窗口的一般方法
在一般情况下编写的对话框程序,用户在运行的时候,如果不注意按下了ENTER或者ESC键,程序就会立刻退出,之所以会这样,是因为按下Enter键时,Windows就会自动去找输入焦点落在了哪一个按钮上, ...
随机推荐
- Redis Scan的使用方式以及Spring redis的坑
SpringRedisTemplate针对这个Scan进行了封装,示例使用(针对最新库spring-data-redis-1.8.1.RELEASE): Set<Object> execu ...
- 第一百六十五节,jQuery,过滤选择器
jQuery,过滤选择器 学习要点: 1.基本过滤器 2.内容过滤器 3.可见性过滤器 4.子元素过滤器 5.其他方法 过滤选择器简称:过滤器.它其实也是一种选择器,而这种选择器类似与 CSS3 (h ...
- MyBatis实战——自动回复机器人
案例分析 基本功能 接收发送指令 根据指令自动回复对应内容 模块划分 回复内容维护 对话功能 回复内容列表 回复内容删除 MyBatis的下载和核心架构的搭建 下载地址:https://github. ...
- POJ 3304 Segments(计算几何:直线与线段相交)
POJ 3304 Segments 大意:给你一些线段,找出一条直线可以穿过全部的线段,相交包含端点. 思路:遍历全部的端点,取两个点形成直线,推断直线是否与全部线段相交,假设存在这种直线,输出Yes ...
- Using Swift with Cocoa and Objective-C下载
<Using Swift with Cocoa and Objective-C Building App > 下载地址 http://download.csdn.net/detail/sw ...
- springmvc 生命周期
1A)客户端发出http请求,只要请求形式符合web.xml 文件中配置的*.action的话,就由DispatcherServlet 来处理. 1B)DispatcherServlet再将http请 ...
- aspx.cs方法设置webmenthod特性接收ajax请求
cs代码: public partial class TelerikWebMethod : BasePage//System.Web.UI.Page { protected void Page_Loa ...
- 排序算法 c实现
c语言实现插入排序.冒泡排序.选择排序.快速排序.堆排序.归并排序.希尔排序示例,需要的朋友可以参考下 实现以下排序 插入排序O(n^2) 冒泡排序 O(n^2) 选择排序 O(n^2) 快速 ...
- 1084 矩阵取数问题 V2
1084 矩阵取数问题 V2 基准时间限制:2 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 一个M*N矩阵中有不同的正整数,经过这个格子,就能获得相应价值的奖励,先从左上走到右下 ...
- 解决EasyNVR现场无固定公网IP的问题,万千企业期待的EasyNVS管理平台是什么?
前言 EasyNVS云管理平台已经研发上线,今天就来给大家讲解一下EasyNVS到底是个啥,有什么特殊的功能呢? 首先,我们先从EasyNVR智能云终端(以前我们常称之为EasyNVR无插件直播服务器 ...