新天龙八部跑商关闭如何设置按esc只关闭一个窗口

下次自动登录
现在的位置:
& 综合 & 正文
MFC 按回车或者Esc退出的解决办法
基于对话框的默认按Esc和回车键会自动退出程序,可通过重载PreTranslateMessage消息函数,过滤掉Esc和回车消息来处理。
PreTranslateMessage是消息在送给TranslateMessage函数之前被调用的,绝大多数本窗口的消息都要通过这里,比较常用,当你需要在MFC之前处理某些消息时,常常要在这里添加.
  MFC消息控制流最具特色的地方是CWnd类的虚拟函数PreTranslateMessage(),通过重载这个函数,我们可以改变MFC的消息控制流程,甚至可以作一个全新的控制流出来。只有穿过消息队列的消息才受PreTranslateMessage()影响,采用SendMessage()或其他类似的方式向窗口直接发送的而不经过消息队列的消息根本不会理睬PreTranslateMessage()的存在。
  一、是否调用TranslateMessage()和DispatchMessage()是由一个名称为PreTranslateMessage()函数的返回值决定的,如果该函数返回TRUE,则不会把该消息分发给窗口函数处理。
  二、传给PreTranslateMessage()的消息是未经翻译过的消息,它没有经过TranslateMessage()处理。可以在该函数中使用(pMsg-&wParam==VK_RETURN)来拦截回车键。
  三、在WindowProc里不能处理WM_Char消息。
  四、SetWindowText会发送WM_Char给窗口。
  五、PeekMessage和GetMessage的区别:
  GetMessage在没有消息的时候等待消息,cpu当然低
  PeekMessage没有消息的时候立刻返回,可以在没有消息的时候可以做其他处理,但cpu占用率一般较高。
  大多游戏都用PeekMessage();
示例代码如下:
BOOL CHealthHelperDlg::PreTranslateMessage(MSG* pMsg)
// TODO: Add your specialized code here and/or call the base class
if(pMsg-&message == WM_KEYDOWN)
switch(pMsg-&wParam)
VK_RETURN://屏蔽回车
VK_ESCAPE://屏蔽Esc
return CDialog::PreTranslateMessage(pMsg);
&&&&推荐文章:
【上篇】【下篇】君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
SUNLIKE ERP 制程生产操作手册
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口6425人阅读
&在一般情况下编写的对话框程序,用户在运行的时候,如果不注意按下了ENTER或者ESC键,程序就会立刻退出,之所以会这样,是因为按下Enter键时,Windows就会自动去找输入焦点落在了哪一个按钮上,当获得焦点的按钮的四周将被点线矩形包围。如果所有按钮都没有获得输入焦点,Windows 就会自动去寻找程序或资源所指定的默认按钮(默认按钮边框较粗)。如果对话框没有默认按钮,那么即使对话框中没有OK按钮,OnOK函数也会自动被调用,对于一个普通的对话框程序来说,OnOK函数的调用,以为着程序会立刻退出。为了使Enter键无效,最简单的办法就是将CExDlg的OnOK函数写成空函数,然后针对OK按钮写一个新的函数来响应。ESC键的原理也是如此,它是默认和OnCancel函数映射在一起的。对于ESC键,需要自己重载
CDialog类的PreTranslateMessage函数,当发现是ESC键的时候,过滤掉这个消息或者是替换掉这个消息。&
& 一下是简单的代码示例:&
& 【方法1】&
& 可以先重载OnOK函数&
& voidCTestDlg::OnOK()&
& {&&&& //里面什么也不写}&
& 然后重载PreTranslateMessage函数&
& 把ESC键的消息,用RETURN键的消息替换,这样,按ESC的时候,也会执行刚才的OnOK函数,这样问题就可以解决了。&
& BOOL&& CxxxDlg::PreTranslateMessage(MSG*&& pMsg)&&&
&&& if(pMsg-&message==WM_KEYDOWN&& &&&& pMsg-&wParam==VK_ESCAPE)&&&
&&& pMsg-&wParam=VK_RETURN;&& //将ESC键的消息替换为回车键的消息,这样,按ESC的时候&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //也会去调用OnOK函数,而OnOK什么也不做,这样ESC也被屏蔽&
&&&&& }&&&
&&& return&& CDialog::PreTranslateMessage(pMsg);&
& 【方法2】&
& 直接在重载的PreTranslateMessage函数中屏蔽回车和ESC的消息,和以上方法大同小异:&
& BOOL&& CxxxDlg::PreTranslateMessage(MSG*&& pMsg)&&&
&&& if(pMsg-&message==WM_KEYDOWN&& &&&& pMsg-&wParam==VK_ESCAPE)&&&& return&& TRUE;&
&&& if(pMsg-&message==WM_KEYDOWN&& &&&& pMsg-&wParam==VK_RETURN)&& return&& TRUE;&&&
&&& else&&&
&&&&&&&&& return&& CDialog::PreTranslateMessage(pMsg);&
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:260356次
积分:3157
积分:3157
排名:第7122名
原创:34篇
转载:136篇
评论:30条
(2)(1)(3)(1)(4)(1)(3)(2)(2)(1)(1)(2)(3)(3)(1)(7)(3)(3)(7)(3)(4)(1)(2)(1)(9)(5)(1)(2)(6)(1)(1)(1)(1)(6)(6)(2)(7)(7)(8)(1)(3)(3)(7)(2)(4)(2)(20)(5)(6)(1)神龙区聚义的笑话【养生堂】舌尖上的天龙美味——看图猜猜猜【武动乾坤】6月10日门派较量——看谁对门求火爆区,我重庆人最好可以一起玩求火爆区,我重庆人最好可以一起玩
查看: 1772|回复: 11
BOSS头上的话看不见了怎么设置
阅读权限40
主题好友积分
在线时间315 小时
如题 刷少室山BOSS说话都看不见 今天差点自残&&如何设置
阅读权限20
主题好友积分
在线时间87 小时
配眼镜.................
阅读权限20
主题好友积分
在线时间43 小时
在游戏性设置里& &有个& &关闭当前泡泡框& && &这个不要点& &点了就不出字了& &&&点去就好了& &
阅读权限60
主题好友积分
在线时间756 小时
在设置那里点关闭当前什么泡框的。
阅读权限70
主题好友积分
在线时间767 小时
已经有人回答了
(8.12 KB, 下载次数: 13)
19:16 上传
按ESC 选择系统设置
(38.84 KB, 下载次数: 7)
19:16 上传
选择关闭就没那对话框了
世界是没有人是逍遥的...---世界上最善良,诚实的人。
阅读权限40
主题好友积分
在线时间315 小时
3Q{:2_26:}
阅读权限30
主题好友积分
在线时间103 小时
在游戏性设置里& &有个& &关闭当前泡泡框& && &这个不要点& &点了就不出字了& &&&点去就好了& &
阅读权限60
主题好友积分
在线时间492 小时
其实楼上的说出真相了,不过有时候设置不管用,失灵时不灵。。。不知道什么原因
阅读权限90
主题好友积分
在线时间1822 小时
{:6_149:}& && && && &&&
阅读权限80
主题好友积分
在线时间607 小时
感谢解答啊,更新后不知怎么就没了
参与论坛圣诞相关活动获得
经常在论坛发帖,且发帖量较大
为论坛捐献10000金钱
论坛推荐 /1
手机论坛正式发布!论坛与畅游+完美对接,在保护您账号安全的同时,为您提供论坛内容!点击查看,了解手机论坛功能使用说明
Powered by天龙八部3怎么取消聊天模式啊?_百度知道
天龙八部3怎么取消聊天模式啊?
我有更好的答案
Esc -----系统设置------游戏性设置中,把非聊天模式点出来保存就可以了以后打字的时候先按回车就行了
其他类似问题
为您推荐:
您可能关注的推广
天龙八部3的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 新天龙八部跑商关闭 的文章

 

随机推荐