MFC屏蔽按键ESC、ENTER、Alt+F4
1、重写
重写下面的函数
virtual BOOL PreTranslateMessage(MSG* pMsg);
2、函数体
BOOL Cfile_trans_codeDlg::PreTranslateMessage(MSG* pMsg)
{
if (WM_KEYDOWN == pMsg->message )
{
switch (pMsg->wParam)
{
case VK_ESCAPE: //Esc按键事件
return TRUE; case VK_RETURN: //Enter按键事件
return TRUE; default:
break;
}
} if ( (WM_SYSKEYDOWN == pMsg->message) // WM_SYSKEYDOWN 表示ALT键按下
&&
(VK_F4 == pMsg->wParam) )
{
return TRUE;
} return CDialogEx::PreTranslateMessage(pMsg);
}
3、注意:
如果 窗口继承 CDialog, 则上面的函数返回值应为:
return CDialog::PreTranslateMessage(pMsg);
若继承CDiaologEX,则返回值应为:
return CDialogEx::PreTranslateMessage(pMsg);
这样,按下enter 等屏蔽的按键,窗体就不会关闭了
MFC屏蔽按键ESC、ENTER、Alt+F4的更多相关文章
- C#屏蔽Alt+F4,解决Alt+F4关闭窗体时对话框NO后,线程不退出问题
//1.将窗体的属性KeyPrieview设置为true //keypreview属性为true的时候,就可以响应键盘事件v //2.在窗体KeyDown事件中加如下代码 private void F ...
- MFC屏蔽 WindowS按键
LRESULT CALLBACK LowLevelKeyboardPorc(int nCode,WPARAM wParam,LPARAM lParam)//屏蔽按键的真正实现方法{ BOOL fEat ...
- C#屏蔽Alt+F4组合键
在开发的软件不希望用户关闭的情况下,或者我们不想用户回到桌面,这时候我们就需要屏蔽windows键,或者Alt + F4 键等. //1.将窗体的属性KeyPrieview设置为true //keyp ...
- C# Winform 实现屏蔽键盘的win和alt+F4的实现代码
最近在做一个恶搞程序,就是打开后,程序获得桌面的截图然后,然后全屏显示在屏幕上,用户此时则不能进行任何操作. 此时希望用户不能通过键盘alt+F4来结束程序及通过Win的组合键对窗口进行操作.我在网上 ...
- Winfrom 屏蔽Alt+F4
/// <summary> /// 屏蔽Alt+F4 /// </summary> /// <param name="m">要处理的 Windo ...
- wpf屏蔽快捷键alt+space,alt+F4
/// <summary> /// 阻止 alt+f4和alt+space 按键 /// </summary> /// <par ...
- C# 禁止ALT+F4(钩子)
1. Windows Forms中禁用窗体的关闭按钮 添加必要的命名空间: using System.Runtime.InteropServices; 添加必要的常数和API函数的引用 priv ...
- wpf阻止键盘快捷键alt+space,alt+F4
/// <summary> /// 阻止 alt+f4和alt+space 按键 /// </summary> /// <par ...
- 如何在 pyqt 中捕获并处理 Alt+F4 快捷键
前言 如果在 Windows 系统的任意一个窗口中按下 Alt+F4,默认行为是关闭窗口(或者最小化到托盘).对于使用了亚克力效果的窗口,使用 Alt+F4 最小化到托盘,再次弹出窗口的时候可能出现亚 ...
随机推荐
- 【基因组组装】HiC挂载Juicebox纠错补充
目录 1. 主要纠错类型 misjoins translocations inversions chromosome boundaries 2. 其他有用操作 撤销与反撤销 移到边角料 1. 主要纠错 ...
- cpu的性能测试
#!/bin/bash #user%加上sys%是性能的评判标准 User_sys_a=`sar -u 1 3 |tail -1 |awk '{print $3"+"$5}'|bc ...
- MySQL:事务常用语句
Mysql(版本是8)的事务隔离级别 默认是RR:REPEATABLE-READ:可重复读 查看 当前隔离级别 全局隔离级别 修改 -- 当前修改 -- 设置成可重复读 SET transactio ...
- Yarn 生产环境核心参数配置案例
目录 Yarn 生产环境核心参数配置案例 需求 修改yarn-site.xml配置 分发 重启集群 执行WordCount程序 Yarn 生产环境核心参数配置案例 调整下列参数之前要拍摄Linux快照 ...
- A Child's History of England.38
CHAPTER 12 ENGLAND UNDER HENRY THE SECOND PART THE FIRST Henry Plantagenet, when he was but [only] t ...
- day13 装饰器与语法糖
day13 装饰器与语法糖 一.装饰器 1.什么是装饰器 装饰器就是装饰别人的工具,具体是指为被装饰者添加新功能 装饰器->函数 被装饰者->函数 2.为何要用装饰器 装饰器的核心思想:( ...
- rem.js,移动多终端适配
window.onload = function(){ /*720代表设计师给的设计稿的宽度,你的设计稿是多少,就写多少;100代表换算比例,这里写100是 为了以后好算,比如,你测量的一个宽度是10 ...
- Windows zip版本安装MySQL
Windows --MySQL zip版本安装记录: step1. 官网download zip包:http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5. ...
- mysqldump冷备份
数据库备份的重要性 提高系统的高可用性和灾难可恢复性,在数据库系统崩溃时,没有数据备份就没法找到数据. 使用数据库备份还原数据库,是数据库崩溃时提供数据恢复最小代价的最优方案. 没有数据库就没有一切, ...
- 删除button中除label之外的View
因为button中的UIButtonLabel判断class类型时,会被认为是view,所以想删除view类型的子控件时,会将label也删掉,从而无法显示title,此时,可以给指定的View添加t ...