【EasyUse】关于键盘加速键的几点思考
2013-12-03 21:28
197 查看
因为EasyUse程序要用到键盘加速,中间遇到了一些难题。汇总以便以后使用。
1、该在哪个地方截取消息(?)
关于这问题,认识还不够深刻。有一点可以确定,你在程序运行的CXXApp和CXXDlg的PreTranslateMessage()中截取消息函数肯定是不一样的。
一个是程序运行全过程都可以出发键盘操作的。
关于在对话框中出发消息,是在PreTranslateMessage()还是在OnKeyDown()中触发,还暂时没搞清楚。留以后搞清楚了去写。我是在PreTranslateMessage()中出发也没有成功
2、用什么判断触发了键盘操作。
1.可以检查MSG *pMsg变量的message变量判断消息的类型。当为WM_KEYDOWN时表示,有键被按下pMsg->wParam说明是什么键被按下。
具体的键的表示如下:
符号形式 十六进制形式 说明
VK_LBUTTON 01 鼠标左键
VK_RBUTTON 02 鼠标右键
VK_CANCEL 03 Control-break 过程
VK_MBUTTON 04 鼠标中键
VK_BACK 08 BACKSPACE 键
VK_TAB 09 TAB 键
VK_CLEAR 0C CLEAR 键
VK_RETURN 0D ENTER 键
VK_SHIFT 10 SHIFT 键
1、该在哪个地方截取消息(?)
关于这问题,认识还不够深刻。有一点可以确定,你在程序运行的CXXApp和CXXDlg的PreTranslateMessage()中截取消息函数肯定是不一样的。
一个是程序运行全过程都可以出发键盘操作的。
关于在对话框中出发消息,是在PreTranslateMessage()还是在OnKeyDown()中触发,还暂时没搞清楚。留以后搞清楚了去写。我是在PreTranslateMessage()中出发也没有成功
2、用什么判断触发了键盘操作。
1.可以检查MSG *pMsg变量的message变量判断消息的类型。当为WM_KEYDOWN时表示,有键被按下pMsg->wParam说明是什么键被按下。
具体的键的表示如下:
符号形式 十六进制形式 说明
VK_LBUTTON 01 鼠标左键
VK_RBUTTON 02 鼠标右键
VK_CANCEL 03 Control-break 过程
VK_MBUTTON 04 鼠标中键
VK_BACK 08 BACKSPACE 键
VK_TAB 09 TAB 键
VK_CLEAR 0C CLEAR 键
VK_RETURN 0D ENTER 键
VK_SHIFT 10 SHIFT 键
相关文章推荐
- 关于Linked List Cycle II (leetcode 142) 的几点思考
- 关于推荐系统的几点思考
- 关于模拟键盘的再次思考。
- 关于利用JAVA开发游戏外挂的几点思考
- 乔布斯:关于Flash的几点思考
- 关于mysql备份的几点思考
- 关于c++跨平台开发的几点思考
- 几点关于C/C++开发的思考
- 关于创办软件公司的几点思考
- 关于PCA降维原理的几点思考
- 关于微信小程序的几点思考
- 关于Flash的几点思考(Thoughts on Flash)
- 关于MFC自定义消息的几点思考
- 关于针对iOS 7开发的几点思考
- 关于设计模式的几点思考
- 关于博客园是否可以开展培训业务的几点思考
- 初学者关于Objective-C 内存管理的几点思考
- winform中关于panel中滚动条和键盘事件几点体会
- 关于Android数据库orm工具库对比的几点思考(二)
- python 关于如何监控键盘长按输入的思考