visualc+面向对象与可视化程序设计第6章

visualc+面向对象与可视化程序设计第6章

ID:40055600

大小:2.71 MB

页数:37页

时间:2019-07-18

visualc+面向对象与可视化程序设计第6章_第1页
visualc+面向对象与可视化程序设计第6章_第2页
visualc+面向对象与可视化程序设计第6章_第3页
visualc+面向对象与可视化程序设计第6章_第4页
visualc+面向对象与可视化程序设计第6章_第5页
资源描述:

《visualc+面向对象与可视化程序设计第6章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章Windows应用程序对键盘与鼠标的响应6.1键盘在应用程序中的应用对应扫描码是依赖于具体设备的,为达到设备无关性的要求,往往使用与具体设备无关的虚拟码,虚拟码是由Windows系统定义的与设备无关的键的标识由于键盘的输入产生一条消息设备驱动程序截取键的扫描码翻译虚拟码它含扫描码、虚拟码以及其他与击键有关的消息键盘上的键按下或释放某键时一个唯一的标识值(扫描码)产生取出键盘消息进行处理消息设备驱动程序把消息放到系统的消息队列中Windows从系统消息队列中取出消息发送到相应的线程消息队列中窗口过程符号

2、常量名称等价的键盘键或鼠标按钮符号常量名称等价的键盘键或鼠标按钮VK_LBUTTON鼠标左按钮VK_BACK退格键VK_RBUTTON鼠标右按钮VK_TAB制表键VK_MBUTTON鼠标中按钮VK_RETURN回车键VK_SHIFTShift键VK_CONTROLCtrl键VK_MENUAlt键VK_PAUSEPause键VK_CAPITALCapsLock键VK_ESCAPEEsc键VK_PRIORPageUp键VK_NEXTPageDown键VK_ENDEnd键VK_HOMEHome键VK_LEFT左键

3、头键VK_RIGHT右箭头键VK_UP上箭头键VK_DOWN下箭头键VK_0~VK_90~9键VK_A~VK_ZA~Z键虚拟码是一种与设备无关的键盘编码,它的值存放在键盘消息的wParam参数中,用以标识哪一个键被按下或释放,最常用的虚拟码已经在Windows.h中定义。常用的虚拟码操作系统在接收到键盘输入后把消息发送给具有“输入焦点(inputfocus)的窗口应用程序一般有几个窗口,但当按下某一个键时,只有一个窗口能接收到该键盘消息,接收这个键盘消息的窗口称为有“输入焦点”的窗口有“输入焦点”的窗口应是

4、活动窗口或者活动窗口的子窗口窗口正在接收输入焦点窗口函数通过捕获WM_SETFOCUS和WM_KILLFOCUS消息确定当前窗口是否具有输入焦点。窗口失去输入焦点一个按键的组合产生了一个可以显示的字符时,就产生了一个字符消息字符消息键盘消息按键消息系统按键消息按下或松开一个键时非系统按键消息就产生了一按键消息Alt键与相关输入键的组合产生的消息,这些键一般由Windows系统内部直接处理,应用程序不处理若应用程序处理了这些系统键消息,还要调用DefWindowsProc()函数,以便不影响系统对它们的处理不

5、使用Alt键组合的的按键消息消息类型含义WM_KEYDOWN非系统按下了非系统键消息WM_KEYUP非系统松开了非系统键消息WM_SYSKEYDOWN系统按下了系统键消息WM_SYSKEYUP系统松开了系统键消息wParamlParam按键消息的两个变量32位的变量重复计数位(0~15位)OEM扫描码(16~23位)扩展键标志(24位)保留位(25~28位)关联码(29位)键的先前状态(位30)转换状态(31位)包含了识别按下的键的虚键码消息类型含义WM_CHAR非系统非系统字符WM_DEADCHAR非系统

6、非系统死字符WM_SYSCHAR系统系统字符WM_SYSDEADCHAR系统系统死字符非系统WM_KEYDOWN和WM_KEYUP的按键消息只能产生非系统消息在WinMain函数的消息循环中包含了TranslateMessage函数,其功能是把按键消息转化为字符消息,但只有当键盘驱动程序把键盘字符映射成ASCII码后才能产生WM_CHAR消息。WM_SYSKEYDOWN和WM_SYSKEYUP按键消息只能产生系统消息系统字符消息【例6-1】设计一个窗口,在该窗口中练习键盘的响应,要求如下:(1)(2)(3)

7、(4)(5)单击键盘上的向上箭头时,窗口中显示“Youhadhittedtheupkey”单击键时,窗口中显示“YouhadhittedtheSHIFTkey”单击键时,窗口中显示“YouhadhittedtheCTRLkey”单击键时,窗口中显示“YouhadhittedtheCTRLAkey”单击键时,窗口中显示“YouhadhittedtheSHIFTBkey”longWINAPIWndProc(HWNDhWnd,UINTiMessage,U

8、INTwParam,LONGlParam){HDChDC;//定义设备环境句柄PAINTSTRUCTps;//定义包含绘图信息的结构体变量HPENhPen;//定义画笔句柄HBRUSHhBrush;//定义画刷句柄//以下定义输出的字符串staticcharcUp[]="YouhadhittedtheUPkey";staticcharcCtrl[]="YouhadhittedtheCtrlkey";staticc

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

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

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