键盘函数您会发现用于判断键盘状态的函数对windows应用程序是很有

键盘函数您会发现用于判断键盘状态的函数对windows应用程序是很有

ID:23138941

大小:333.17 KB

页数:28页

时间:2018-11-04

键盘函数您会发现用于判断键盘状态的函数对windows应用程序是很有_第1页
键盘函数您会发现用于判断键盘状态的函数对windows应用程序是很有_第2页
键盘函数您会发现用于判断键盘状态的函数对windows应用程序是很有_第3页
键盘函数您会发现用于判断键盘状态的函数对windows应用程序是很有_第4页
键盘函数您会发现用于判断键盘状态的函数对windows应用程序是很有_第5页
资源描述:

《键盘函数您会发现用于判断键盘状态的函数对windows应用程序是很有》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第三章概述传统上,微软Windows平台为用户提供两种输入方式:键盘和鼠标。WindowsCE继承了这—方式,但在其人部分系统上,使川输入笔和触摸屏替代了鼠标。从程序角度看,这种变化很小,W为输入笔的消息已经被映射成WindowsM:它版木巾使用的鼠标消息了。同PC版的Windows比,WindowsCE上一个很细微但乂很重要的变化足要么足只奋一个很小的键盘,要么根本没有键盘。这种配置使笔忒输入对WindowsCE更加重要了。里然键盘在WindowsCE中作川减少了,似键盘依然足诚入人量倍息的最好方法。即使像在P

2、ocketPC这类没有物理键盘的系统上,用广使用最多的也还是软键盘--在触摸屏上模拟键盘的控件。基于此,除了极其特殊的WindowsCE应用程序外,对键盘输入的适当操作是很重耍的。S然在本书后面章节我会详细讨论软键盘,但有一点应该先提一下。对于hV:用程序,软键盘的输入同传统硬件键盘的输入是没什么不同的。输入焦点在Windows操作系统下,冋时只有一个窗口拥有输入焦点。有焦点的窗口接收所有键盘输入,S到焦点切换到另外一个窗口。虽然系统使川很多规则來分配键盘焦点,但通常有焦点的窗II就是当前活动窗口。活动窗门就足川

3、户当前正在交互的顶层窗门。除了极少数例外,活动窗口通常位于Z哗标的顶部,也就是说,活动窗口是绘制在系统里其它窗口上血的。在资源浏览器(Explorer)沮,用户叶以按Alt-Esc键在程序间切换,以改变活动窗口,或者在任务栏里点另一个顶S窗U的按钮来切换活动窗U。焦点窗U是活动窗U或者其子窗之一。WindowsK,程序可以通过调用GetFocus来判断哪个窗U拥有输入焦点,函数原型如下:HWNDGetFocus(void);通过调用SetFocus可以把焦点切换到另外一个窗口,函数原型如下:HWNDSetFocu

4、s(HWNDhWnd);在WindowsCE下,对SetFocus的0标窗口打一些限制。通过SetFocus来获取焦点的窗M必须足调用SetFocus的线程创建的窗U。该规则的一个例外足:如果失去焦点的窗丨I和即将获得焦点的窗口足父子或兄弟关系,那即使这两个窗口足被不冋线程创建的,也可以切换焦点。当窗口失去焦点时,Windows会给该'如I发送WM_KILLFOCUS消息,通知窗口新的状态信息。wParam参数则包含即将获得焦点的窗口句柄。获得焦点的窗口会收到WM_SETFOCUS消息,消息的wParam参数含了

5、失去焦点的窗口的句柄。还要再叮嘱一下。程序不应该在没有用户输入的怙况下改变焦点窗口。否则,用户很容鉍变的迷惑。SetFocus的一个适当用途是给活动窗口里的了窗口(更多是控件)设置输入焦点。在这种情况下,程序让想接收键盘消息的窗口用其子窗口的句柄来调用SetFocus,以响应WM_SETFOCUS消息。键盘消息除了一些小的例外,WindowsCE与桌面版的Windows具冇相同的键盘消息处理过程,当键被按下,Windows给焦点窗U发送一系列消通常都是以WM_KEYDOWN消息开始的。如果被按下的键代农诸如字母或

6、数字等字符,Windows会在WM_KEYDOWN之后发送一个WM_CHAR消息。(一些按键,例如功能键和光标键等,不代表字符,则不会发送WM_CHAR。对这些按键,程序必须翻译WM_KEYDOWN消息来丫解这些按键是什么时候被按下的。)当按键被释放,Windows会发送一个WMKEYUP消息。如果按键按的时间长一些,则&动重C功能就会开启,多条WM_KEYDOWN消息和WM_CHAR消息会被送出,fi到®后键被释放,发出WM_KEYUP消息。当Alt键和另一个键-起被按下时,上而讨论的消息会被WM_SYSKEY

7、DOWN,WM_SYSKEYCHAR和WM_SYSKEYUP消息替代。对所奋这些消息,儿乎都按相同的方式使川参数wParam和IParam。对WM_KEYxx和WM_SYSKEYxx消息,wParam包含虚拟键值,川于指出当前被按下的键。所有版本的Windows都在键盘硬件和应用程序之间提供丫一个屮间层,用于把键盘返回的扫描码转换成虚拟键盘值。农3-1列出了VK_xx位及对应的键。迅然虚拟键农很大,但不是所冇表屮列的键都能用于WindowsCE设备。例如,作为PC键盘上很主要的键并列在虚拟键农屮的功能键,却并没有

8、出现在大部分WindowsCE键盘上。实际上,PC键盘上的许多键都从空间受限的WindowsCE键盘上去除了。图3-1给出了通常很少用在WindowsCE设备上的键列表,该表只是告诉你这些键在WindowsCE键盘上吋能不存在,但并不是说绝对不存在。表3-1:虚拟键略阁3-1:PC键盘中很少用于WindowsCE键盘的键对WM_CHAR和WM_SYSCHAR消息來说,wP

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

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

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