Windows应用程序中的键盘与鼠标.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Windows应用程序中的键盘与鼠标

第6章 Windows应用程序中的键盘与鼠标 Huang Weitong * * 第6章 Windows应用程序中的键盘与鼠标 扫描码是依赖于具体设备的,为达到设备无关性的要求,往往使用与具体设备无关的虚拟码,虚拟码是由Windows系统定义的与设备无关的键的标识 由于键盘的输入 产生一条消息 扫描码、虚拟码以及其他与击键有关的消息 设备驱动程序 截取键的扫描码 翻译 虚拟码 它含 键盘上的键 对应 一个唯一的标识值(扫描码) 按下或释放某键时 产 生 取出键盘消息进行处理 消息 设备驱动程序 把消息放到系统的消息队列中 Windows从系统消息队列中取出消息 发送到相应的线程消息队列中 窗口过程 6.1 键盘在应用程序中的应用 虚拟码是一种与设备无关的键盘编码,它的值存放在键盘消息的wParam参数中,用以标识哪一个键被按下或释放,最常用的虚拟码已经在Windows.h中定义, 窗口正在接 收输入焦点 窗口函数通过捕获WM_SETFOCUS和WM_KILLFOCUS消息确定当前窗口是否具有输入焦点。 操作系统在接收到键盘输入后 把消息发送给有“输入焦点(input focus)的窗口 应用程序一般有几个窗 口,但当按下某一个键 时,只有一个窗口能接 收到该键盘消息,接收 这个键盘消息的窗口称 为有“输入焦点”的窗口 有“输入焦点” 的窗口应是活 动窗口或者活 动窗口的子窗口 窗口失去 输入焦点 键盘消息 按键消息 字符消息 按下或松开一个键时 就产生了一按键消息 一个按键的组合产生了 一个可以显示的字符时, 就产生了一个字符消息 系统按键消息 非系统按键消息 Alt键与相关输入键的组合 产生的消息,这些键一般 由Windows系统内部直接 处理,应用程序不处理 若应用程序处理了这 些系统键消息,还要调 用DefWindowsProc()函 数,以便不影响系统对 它们的处理 不使用Alt键组合 的的按键消息 按键消息的两个变量 wParam lParam 32位的变量 重复计数位(0~15位) OEM扫描码(16~23位) 扩展键标志(24位) 保留位(25~28位) 关联码(29位) 键的先前状态(位30) 转换状态(31位) 包含了识别按下 的键的虚键码 在WinMain函数的消息循环中包含了TranslateMessage函数,其功能是把按键消息转化为字符消息,但只有当键盘驱动程序把键盘字符映射成ASCII码后才能产生WM_CHAR消息 字符消息 系统 非系统 WM_KEYDOWN和WM_KEYUP 的按键消息只能产生非系统消息 WM_SYSKEYDOWN和WM_SYSKEYUP 按键消息只能产生系统消息 6.3 鼠标在应用程序中的应用 鼠标作为定位输入设备,通过鼠标单击、双击和拖动功能,用户可以很容易地操作基于Windows图形界面的应用程序。 Windows中通过光标来指示当前鼠标的位置,在Windows操作系统中预定义了几种光标,并在Windows.h头文件中加以定义, 例如,下面的语句为窗口类wndclass WNDCLASS wndclass; … wndclass.hCursor=LoadCursor (hThislnst, IDC_WAIT); … 此外,还可在应用程序中调用LoadCursor函数改变光标形式 用户自定义光标 自定义光标保存在扩展名为.cur的文件中 光标名 CURSOR 光标文件(.cur) 采用自定义光标 时,需在资源文 件中定义光标资源 加载光标资源(常在定义窗口类时进行) LoadCursor(hThisInst,lpszCursorname) 当前实例句柄 当前光标 鼠标消息 lParam包含了鼠标位置 低位包含鼠标位置的x坐标值 高位包含鼠标位置的y坐标 wParam包含了指示各种虚键状态的值 相当于窗口的左上 角为原点的坐标值

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档