WTL学习笔记之"Enter"和"ESC"的一点小心得

最近在玩WTL的时候,需要处理到回车和ESC键的问题,于是和以前在MFC的时候,老样子,直接写PreTranslateMessage来抓键盘消息(其实我比较喜欢在OnOK或者OnCancel中处理,毕竟很多时候,重载这2个方法,已经能满足要求了) ,结果发现WTL 的PreTranslateMessage 中居然过滤不到按“Enter”和“ESC“键的时候WM_KEYDOWN消息,这会儿傻了~~

于是翻看资料,找信息,终于找到一点资料,故整理了一下,再加上自己的一点实践中获得的知识,写一个小心得吧。

建个Dialog Based(Modal)的工程,编译运行起来,用Spy++抓窗口消息,会发现,如下的一段记录:

<00077> 000E0E26 P WM_KEYDOWN nVirtKey:VK_RETURN cRepeat:1 ScanCode:1C fExtended:1 fAltDown:0 fRepeat:0 fUp:0
<00078> 000E0E26 S WM_GETDLGCODE
<00079> 000E0E26 R WM_GETDLGCODE fuDlgCode:0000
<00080> 000E0E26 S WM_GETDLGCODE
<00081> 000E0E26 R WM_GETDLGCODE fuDlgCode:0000
<00082> 000E0E26 S DM_GETDEFID
<00083> 000E0E26 R DM_GETDEFID wHasDef:DC_HASDEFID wDefID:0001
<00084> 000E0E26 S WM_COMMAND w

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值