VC6下对话框工程中的键盘按键(WM_KEYDOWN)演示

时间:2012-07-10 04:02:00
【文件属性】:

文件名称:VC6下对话框工程中的键盘按键(WM_KEYDOWN)演示

文件大小:17KB

文件格式:RAR

更新时间:2012-07-10 04:02:00

对话框工程

正常情况下,在对话框工程中无法响应WM_KEYDOWN消息函数,即添加此消息应射之后,程序永远不会进入到这个消息的处理函数中,所以也就无法捕获键盘的按键消息。 上网上搜索了一下,找到了篇: http://tieba.baidu.com/f?kz=136722697 这应该算是一种方法。 在本次上传的演示代码中,没有使用这种方法。 经过实际的程序跟踪发现,对话框工程是可以捕获到这个按键消息,只是没有最终发送到WM_KEYDOWN中而已,但是在分发消息之前就可以看到这个消息。由此,我们在分发消息之前来捕获这个消息就可以了。演示代码中拐了个弯,把这个捕获到的消息,又重新向窗口发送了一次自定义消息,然后在WndProc()函数进行了处理


【文件预览】:
prekeys.clw
prekeysDlg.cpp
prekeys.rc
StdAfx.cpp
resource.h
prekeys.dsw
Debug
----prekeys.exe(104KB)
ReadMe.txt
StdAfx.h
prekeys.h
prekeys.cpp
res
----prekeys.rc2(399B)
----prekeys.ico(1KB)
prekeys.dsp
prekeysDlg.h

网友评论

  • 代码有一定参考价值
  • 试了一下,可以成功运行,代码也都注释的很清晰,不过因为本人代码能力,目前还在研究中,在vc6中可以成功编译
  • 有点简单了,例子是不错的
  • 不支持多键同时按下,没多大价值
  • 还好,有参考价值
  • 问题已解决,有一定帮助 谢谢
  • 例子还不错,就是太简单了
  • 用SDK的用不到,MFC的可以
  • 这个方法还是不错的,只不过我现在还没看懂,继续研究中~
  • 程序中用到了WindowProc这个回调函数,但只用PreTranslateMessage函数应该就可以实现功能,WindowProc貌似有些多余
  • WM_KEYDOWN 下只能对部分按键响应,特殊按键不能响应。
  • 照着他提供的方法加了两个函数,居然我的程序也成功了,但不是完全理解他的提起捕获消息是什么意思?我再想想吧。