网站大量收购独家精品文档,联系QQ:2885784924

第7章 Windows的基本输入.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章Windows的基本输入整理

第7章 Windows的基本输入 操作系统提供了两种接口来接收用户输入,一种是应用程序接口,即API;该接口主要提供给程序员使用。另一种是用户输入消息,主要是键盘消息和鼠标消息。本章将讲解VC中读取键盘和鼠标的消息,通过实例来分析消息处理函数的运行机制。 本章涉及的知识点有: 键盘和鼠标消息理论基础:了解Windows基本输入(键盘和鼠标的输入)的消息传递基本原理,为进一步深入理解Windows消息内核打下基础。 键盘和鼠标的消息处理函数分析:理解键盘和鼠标的消息处理函数的原型和各参数代表的意义,学会自定义消息处理函数。 消息处理实例的创建和使用:学会使用VC进行键盘和鼠标的消息处理函数的添加、删除和修改,并学会独立编写使用键盘或鼠标操作响应的软件。 7.1 键盘消息及其处理 本节首先介绍键盘消息的基本概念,了解基本概念后,再实现进行键盘消息的接收、处理的实例,最后对消息处理函数进行分析以加深理解。 7.1.1 键盘消息的处理 键盘是用户使用计算机不可缺少的一个输入工具。MFC程序架构中,键盘输入的接收实际上是分为两步走,第一步是Windows给窗口发送WM_KEYDOWN和WM_KEYUP消息时用的虚拟键盘码。如果按下一个键盘按钮,则引发一个WM_KEYDOWN消息,并发送给应用程序,而相应地,键盘按钮弹起时,则引发一个WM_KEYUP消息。第二步是将消息打包送到窗口中进行处理。当然这只是简化的消息过程,实际上Windows还要判断Shift键或Caps Lock等组合键情况。 在掌握键盘消息编程之前,先理解以下的概念,这对以后的Win32 SDK或其他类库基础上进行技术研发是有较大作用的。 7.1.2 键盘消息处理函数 【本节示例参考7.1.3小节】 MFC中,添加一个键盘消息函数,则应该修改3个必要项: (1)消息函数的声明。 (2)消息映射表注册。 (3)消息函数的实现。 键盘消息函数一般有两种:OnKeyDown()和OnKeyUp(),分别用于处理键盘按钮按下和键盘按钮弹起时的消息。以OnKeyDown()函数为例,以下做出对键盘消息处理函数的分析: 函数原型: afx_msg void OnKeyDown( UINT nChar, UINT nRepCnt, UINT nFlags ); 函数返回值是void,afx_msg是MFC消息函数的标记。 形式参数有3个: nChar:用户的键盘码。如7.1.3节的例子的VK_UP,它的定义是: #define VK_UP 0x26 ; 7.1.3 实例7.1-键盘消息处理 实例7.1就是创建一个可以接收键盘信息的MFC单文档应用程序。步骤如下: (1)单击“File”菜单,选中“New”命令。 (2)设置向导。在向导中,将项目名称命名为“KeyBoard_Ex”。并将应用程序类型设置为“单文档”,其他选项默认。 (3)找到类视图中进行添加消息函数。 在工作区左边的代码视图窗口中,单击“类视图”,然后单击“CKeyBoard_ExView”类,这时属性框会相应出现该类的属性列表。 7.2 鼠标消息及其处理 本节首先介绍鼠标消息的基本概念,了解基本概念后,再实现进行鼠标消息的接收、处理的实例。 7.2.1 鼠标消息的处理 用户在使用Windows系统及其应用软件时,鼠标是一个必不可少的操作工具,鼠标主要的动作有: 鼠标双击:使用鼠标的左键进行连续的双击,常用于打开某文件、文件夹或代替鼠标左键的某项功能。 鼠标单击:一般是指鼠标左键单击某对象、文件、文件夹、菜单或选项等。 鼠标右击:一般是指鼠标右键单击某对象、文件、文件夹、菜单或选项等。 鼠标移动:指用户通过移动鼠标来使窗口中的鼠标光标移动。 鼠标滚轮滑动:通过滚轮滑动,来快速滚动屏幕,常用于网页浏览或多文件的文件夹浏览等。 7.2.2 鼠标消息处理函数 【本节示例参考7.2.3小节】 在MFC中,添加一个鼠标消息函数,与添加键盘消息类似,也应该修改3个必要项: (1)消息函数的声明。 (2)消息映射表注册。 (3)消息函数的实现。 其实在前文已经多次使用到消息处理函数,都跟这三项有关。鼠标消息函数与键盘消息函数不同的是: 键盘消息:要识别不同的键盘码,不同的键盘码使用的都是同一个消息,只是按键不同。因此,键盘消息处理函数常使用switch语句对不同的按键动作进行处理。 鼠标消息:不用识别不同的按键码,因此不同的按键,如鼠标左键、鼠标右键和鼠标滑轮都分别使用了不同的消息。因此,鼠标消息不必如键盘消息那样使用switch语句,而不同的鼠标消息处理函数的共同点在于传递一个CPoint类型的当前光标的位置值,以方便处理鼠标所在的位置。 7.2.3 实例7.2-鼠标消息处理(五子棋游戏) 实例7.2讲解鼠

文档评论(0)

chenchena + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档