MFC对话框程序 屏蔽ESC和ENTER键关闭对话框的方法
http://blog.csdn.net/xgx198831/article/details/6713651
MFC对话框程序 屏蔽ESC和ENTER键关闭对话框的方法
或许还有其它更好的办法,但下面这个肯定有用,主要就是重载PreTranslateMessage()函数,在这个函数里捕捉ESC和ENTER键按下时的消息,然后什么都不做,或是添加代码完成你自己想要实现的功能。
1.完全屏蔽ESC键与ENTER回车键
BOOL CTest1Dlg::PreTranslateMessage(MSG* pMsg)
{
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);
}
2.完全屏蔽ESC键,捕捉ENTER回车键
BOOL CTest1Dlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN )
{
if(GetFocus()->GetDlgCtrlID()==IDC_MSG_SEND)//按下回车,如果当前焦点是在自己期望的控件上
{
CTest1Dlg::OnBnClickedBtnSend();//添加自己的处理代码
}
return TRUE;
}
if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_ESCAPE)
return TRUE;
return CDialog::PreTranslateMessage(pMsg);
}
该代码在VC中的MFC程序测试通过,完全可以实现,红色的代码是可以根据自己的实际情况修改的。
MFC对话框程序 屏蔽ESC和ENTER键关闭对话框的方法的更多相关文章
- VC MFC 屏蔽ESC和ENTER键关闭对话框
方法一: 窗体头文件中加入: protected: virtual BOOL PreTranslateMessage(MSG* pMsg); // PreTranslateMessage是消息在送给T ...
- MFC 屏蔽esc跟enter键
BOOL CMenuOperate::PreTranslateMessage(MSG* pMsg) { if(pMsg->message == WM_KEYDOWN && pMs ...
- 联想 ThinkPad 笔记本 Fn 键 关闭与启用方法
联想 ThinkPad 笔记本 Fn 键 关闭与启用方法 [最快捷的方式] 按 Fn + Esc 键,进行切换启用或者关闭 Fn 功能键 So easy!!! ^_^
- MFC非模态对话框中屏蔽ESC键
个人的编程经验认为:对于非模态对话框,按下ESC键和点击红叉都会响应OnCancel()函数,而不会去响应OnClose()函数. 我们都知道,如果想屏蔽Enter键,只须重写OnOK()函数即可(重 ...
- MFC小程序003------MFC使用WebBrowser组件,在对话框中创建滚动视图,动态创建一个静态文本控件并设置鼠标单击的消息响应
MFC小程序截图: 一.在MFC中简单使用WebBrowser的ActiveX插件的方法: 见博文: http://blog.csdn.net/supermanking/article/detail ...
- MFC应用程序编写实例—完整版(原创)
前段时间,将近花了一周至两周上班和上班后的闲余时间,做了一个用于调试和测试工作项目的应用软件,下面将实现软件的重要步骤及主要功能讲解一遍,方便日后查阅. 程序开始后,提示登录框,输入用户名,密码后,登 ...
- Win32对话框程序(2)
接着Win32对话框程序(1)来写 ,解决遗留的问题,即理解函数及其调用关系.文章中有些地方是自己的推断,因此肯定有叙述不准确甚至错误的地方,请指正,感谢~ ********************* ...
- 在ie9下在textbox框里面输入内容按enter键会触发按钮的事件
问题 在ie下,如果存在有button标签,如果在textbox里面输入内容,按下enter键,则会触发第一个按钮的click事件,经过测试,在IE10以及以下的都存在这个问题 原因 浏览器默认行为不 ...
- Android系统原理与源码分析(1):利用Java反射技术阻止通过按钮关闭对话框
原文出处:博主宇宙的极客http://www.cnblogs.com/nokiaguy/archive/2010/07/27/1786482.html 众所周知,AlertDialog类用于显示对话框 ...
随机推荐
- jquery 插件ajaxupload 的简单应用
var button = $('#upload_button'); //定义能够上传文件的按钮,就是一个普通的button var fileType = "zip",fileNu ...
- Oracle中,将毫秒数转换为timestamp类型的两种方法
在许多场景中,开发人员习惯用1970-01-01 00:00:00.000以来的毫秒数来表示具体的时间,这样可以将数据以NUMBER类型存储到数据库中,在某些时候方便比较,同样,有些时候我们需要 把这 ...
- 计算机鼻祖-Donald Knuth(高纳德) 的传奇
李开复说,练内功,不要仅仅花功夫学习各种流行的编程语言和工具,以及一些公司招聘广告上要求的科目.要把数据结构.算法.数据库.操作系统原理.计算机体系结构.计算机网络,离散数学等基础课程学好.最好还是试 ...
- Memcached中的存取命令详解
本文和大家分享的主要是Memcached中常用的一些存取命令相关用法,一起来看看吧,希望对大家学习Memcached有所帮互助. 存储命令 set:不管key存在与否,强制进行set操作: add:必 ...
- javascript 正则表达式 详细入门教程
1.什么是正则表达式 定义: 一个用来搜索.匹配.处理一些符合特定语法规则的一个强大的字符串处理工具. 用途: 进行特定字符和字符串的搜索 替换字符串中指定的字符或字符串 验证字符串是否符合需求 2. ...
- c++程序书写原则
1.头文件中声明类,数据变量声明为私有,函数声明为公有. 2.所有函数实现放在非main.cpp文件中. 3.main.cpp只写函数的调用接口.
- WPF Combo box 获取选择的Tag
string str1 = ((ComboBoxItem)this.cboBoxRate1553B.Items[this.cboBoxRate1553B.SelectedIndex]).Tag.ToS ...
- P1014 Cantor表
洛谷 p1014 题目描述 现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的.他是用下面这一张表来证明这一命题的: 1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2 ...
- pycharm常用快捷键和自定义快捷键
默认快捷键 编辑类: Ctrl + Space 基本的代码完成(类.方法.属性)Ctrl + Alt + Space 类名完成Ctrl + Shift + Enter 语句完成Ctrl + P 参数 ...
- Linux线程退出、资源回收、资源清理的方法
首先说明线程中要回收哪些资源,理解清楚了这点之后在思考资源回收的问题. 1.子线程创建时从父线程copy出来的栈内存; 线程退出有多种方式,如return,pthread_exit,pthread_c ...