windows编程之键盘消息总结
来源:互联网 发布:小米手机mac地址查询 编辑:程序博客网 时间:2024/06/15 05:52
<1>活动窗口:活动窗口通常是顶层窗口,也就是说它的父窗口句柄是NULL
<2>输入焦点:具有输入焦点的窗口是活动窗口或者活动窗口的衍生窗口(活动窗口的子窗口,活动窗口子窗口的子窗口)
<3>焦点信息:WM_SETFOCUS,WM_KILLFOCUS来表示获得或者失去焦点信息。
<4>键盘事件消息分类:按键消息(按下,弹起),字符消息WM_KEYDOWN,WM_KEYUP,WM_SYSKEYDOWN,WM_SYSKEYUP
<5>系统按键和非系统按键:
可以知道,有些按键消息时由操作系统来处理的(例如Alt+Tab),这个时候应用程序不会去拦截系统按键消息,而是交给DefWindowProc去实现。非系统按键消息就是那些不带alt按键组合的按键按下或者按键弹起的消息,windows不会处理这些按键消息。
<6>wParam 和 lParam:wParam存放虚拟键码,表示是什么键按下,lParam存储其它按键信息(重复技术,OEM扫描码,内容代码,键先前状态等)
<7>TranslateMessage(&msg):按键消息转换为字符消息,如果消息为WM_KEYDOWN或者WM_SYSKEYDOWN,并且按键与位移状态相组合产生一个字符消息(位移状态指shift,capslock是否按下)WM_CAHR 。在WM_CHAR的消息下,lParam与之前按键消息的lParam参数相同,但是wParam此时不是虚拟键码,它是ANSI或者unicode字码。
<8>消息顺序:
字符消息是夹杂在按键消息之间传递给消息处理程序的,例如按下A键,产生的消息依次是:WM_KEYDOWN,WM_CHAR,WM_KEYUP。
<9>关于控制字符:enter,backspace,Escape,这些键当然会产生虚拟键码,但同时也会产生WM_CHAR消息,因而产生字符(控制字符),通常的做法是把这些消息放在WM_CHAR消息中处理。
<10>插入符号函数:
CreateCaret 建立与窗口有关的插入符号
SetCaretPos 在窗口中设定插入符号的位置
ShowCaret 显示插入符号
HideCaret 隐藏插入符号
DestroyCaret 撤消插入符号
<2>输入焦点:具有输入焦点的窗口是活动窗口或者活动窗口的衍生窗口(活动窗口的子窗口,活动窗口子窗口的子窗口)
<3>焦点信息:WM_SETFOCUS,WM_KILLFOCUS来表示获得或者失去焦点信息。
<4>键盘事件消息分类:按键消息(按下,弹起),字符消息WM_KEYDOWN,WM_KEYUP,WM_SYSKEYDOWN,WM_SYSKEYUP
<5>系统按键和非系统按键:
可以知道,有些按键消息时由操作系统来处理的(例如Alt+Tab),这个时候应用程序不会去拦截系统按键消息,而是交给DefWindowProc去实现。非系统按键消息就是那些不带alt按键组合的按键按下或者按键弹起的消息,windows不会处理这些按键消息。
<6>wParam 和 lParam:wParam存放虚拟键码,表示是什么键按下,lParam存储其它按键信息(重复技术,OEM扫描码,内容代码,键先前状态等)
<7>TranslateMessage(&msg):按键消息转换为字符消息,如果消息为WM_KEYDOWN或者WM_SYSKEYDOWN,并且按键与位移状态相组合产生一个字符消息(位移状态指shift,capslock是否按下)WM_CAHR 。在WM_CHAR的消息下,lParam与之前按键消息的lParam参数相同,但是wParam此时不是虚拟键码,它是ANSI或者unicode字码。
<8>消息顺序:
字符消息是夹杂在按键消息之间传递给消息处理程序的,例如按下A键,产生的消息依次是:WM_KEYDOWN,WM_CHAR,WM_KEYUP。
<9>关于控制字符:enter,backspace,Escape,这些键当然会产生虚拟键码,但同时也会产生WM_CHAR消息,因而产生字符(控制字符),通常的做法是把这些消息放在WM_CHAR消息中处理。
case '\b': // backspace //其它行程序 break ; case '\t': // tab //其它行程序 break ; case '\n': // linefeed //其它行程序 break ; case '\r': // carriage return //其它行程序 break ;
<10>插入符号函数:
CreateCaret 建立与窗口有关的插入符号
SetCaretPos 在窗口中设定插入符号的位置
ShowCaret 显示插入符号
HideCaret 隐藏插入符号
DestroyCaret 撤消插入符号
1 0
- windows编程之键盘消息总结
- windows编程之鼠标消息总结
- windows编程常用键盘消息命令
- windows编程常用键盘消息命令
- Windows 编程常用键盘消息命令
- Qt之Windows键盘消息学习
- Qt之Windows键盘消息学习
- windows编程之WM_MENUSELECT消息
- Windows键盘消息处理
- Windows键盘消息
- Windows 键盘消息处理
- Windows编程(4)|SDK键盘鼠标消息的简单处理
- windows基础应用程序编程(六)键盘消息
- c语言 windows程序设计之键盘消息处理
- 2013.8.7 学习笔记《windows核心编程》(十) 消息队列与键盘消息
- 2013.8.13 学习笔记《windows核心编程》(十一) 键盘消息与翻译消息
- Windows核心编程之消息分流
- 《Windows程序设计》读书笔记------------->>键盘消息<<
- 编程之路感想1
- 公司对报表工具的选择
- SQL中EXISTS与IN的区别
- 凉小凉
- 在go中使用json作为主要的配置格式
- windows编程之键盘消息总结
- NYOJ-33-蛇形填数
- rails 架构
- 程序员面试宝典_第13章_数据结构基础_排序算法小结(4)
- java基础面试
- svn: warning: '.' is not a working copy
- Python调用MongoDB使用心得
- [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 问题解决
- 油面条