《键盘消息》PPT课件

《键盘消息》PPT课件

ID:39734974

大小:222.75 KB

页数:19页

时间:2019-07-10

《键盘消息》PPT课件_第1页
《键盘消息》PPT课件_第2页
《键盘消息》PPT课件_第3页
《键盘消息》PPT课件_第4页
《键盘消息》PPT课件_第5页
资源描述:

《《键盘消息》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、键盘消息内容提要键盘基础键盘消息按键消息字符消息输入焦点插字符键盘相关函数键盘基础键盘消息的产生过程:键盘输入——扫描码——消息(虚键码)——窗口过程键盘基础扫描码(ScanCodes):特定键盘上某个键位的编码,与键盘的实际布局有关。例:在IBM兼容机种上,部分按键的扫描码扫描码按键16Q17W18E19R20T注:在不同种类的键盘上,按键的扫描码会不相同键盘基础虚键码(VirtualCodes):按键的虚拟编码,与设备无关例:WINUSER.H表头文件中以VK_开头定义#defineVK_BACK0x08#defineVK_TAB0x09#defineVK_CLEAR

2、0x0C#defineVK_RETURN0x0D#defineVK_SHIFT0x10#defineVK_CONTROL0x11#defineVK_MENU0x12键盘消息主要消息类型按键消息有些键不产生字符,这些键包括shift键、功能键、光标移动键和特殊字符键如Insert和Delete。对于这些键,Windows只产生按键消息。字符消息对产生可显示字符的按键组合,Windows不仅给程序发送按键消息,而且还发送字符消息。键盘消息常用键盘消息按键消息WM_KEYDOWNWM_KEYUPWM_SYSKEYDOWNWM_SYSKEYUP字符消息WM_CHARWM_DEAD

3、CHARWM_SYSCHARWM_SYSDEADCHAR按键消息描述动作与消息:按下一个键——WM_KEYDOWN或WM_SYSKEYDOWN释放一个键——WM_KEYUP或WM_SYSKEYUP重复按键——重复的WM_KEYDOWN和一个WM_KEYUP按键分类:系统按键——WM_SYSKEYDOWN和WM_SYSKEYUP非系统按键——WM_KEYDOWN和WM_KEYUP注:与Alt相组合的按键产生系统按键,应用程序通常忽略系统按键按键消息描述消息标识:WM_KEYDOWN消息附加参数wParam:虚键码,例如:VK_NUMLOCK,VK_F1,VK_PRIOR,V

4、K_NEXT,VK_HOME,VK_END等lParam:按键消息实例例1按键测试源码示例例2为图形组件输出程序增加键盘接口源码示例字符消息描述字符消息的产生过程:由按键消息获得关于字符按键的虚键码(例:VK_A~VK_Z)进入消息循环while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);}TranslateMessage函数:把WM_KEYDOWN或WM_SYSKEYDOWN消息传给键盘处理程序键盘处理程序检查消息的虚键码,如果对应一个字符键,就提供相应的字符码,再产生

5、一条WM_CHAR消息放在消息队列中。字符消息描述消息的顺序:按键消息字符消息按键消息字符消息的分类非系统字符:WM_CHAR、WM_DEADCHAR系统字符:WM_SYSCHAR、WM_SYSDEADCHAR字符消息描述消息标识WM_CHAR消息附加参数wParam:ANSI字符或UNICODE字符lParam:与产生此消息的按键消息的lParam值相同字符消息应用源码示例输入焦点键盘由在WINDOWS下运行的所有应用程序共享。活动窗口(ActiveWindow)有输入焦点的窗口(InputFocusWindow)接收特定键盘事件的窗口具有输入焦点有输入焦点的窗口是活动

6、窗口或活动窗口的衍生窗口。在按下键盘上的键时,只有一个窗口消息处理程序接收键盘消息输入焦点输入焦点消息:WM_SETFOCUS表示窗口正在得到输入焦点WM_KILLFOCUS表示窗口正在失去输入焦点消息的产生:用户切换窗口的操作应用程序中的相关语句相关函数:HWNDSetFocus(HWNDhWnd);HWNDGetFocus(VOID);输入焦点应用:源码示例插字符插字符:输入文字时,指示下一个字符位置的「光标」一个消息队列只能有一个插字符相关函数:CreateCaret建立与窗口有关的插字符SetCaretPos在窗口中设定插字符的位置ShowCaret显示插字符Hi

7、deCaret隐藏插字符DestroyCaret撤消插字符插字符插字符的处理:在WM_SETFOCUS消息处理期间创建插字符在WM_KILLFOCUS消息处理期间销毁插字符CreateCaret之后,需要调用ShowCaret进行显示HideCaret的影响具有累积效果插字符的应用源码示例键盘相关函数模拟按键:强行加入一组按键消息到系统输入队列之中Keybd_event()获取或设置按键状态GetKeyState()GetAsyncKeyState()GetKeyboardState()、SetKeyboardState()输

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。