- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 8 章 键盘程序编程基础 键盘和鼠标是两个标准的用户输入来源,它们在输入过程中起着互补作用。特别是在今天,鼠标在应用程序中的应用比十年前更为广泛.甚至在应用程序中,我们更习惯于使用鼠标,例如在游戏、画图程序、音乐程序以及Web浏览器等程序中就是这样。然而,在一般的PC机中,我们仍然不把鼠标当作必须设备,而把键盘作为必备设备。 键盘是个人电脑的组件,键盘有非常久远的历史,它起源於1874年的第一台Remington打字机。早期的电脑程序员用键盘在Hollerith卡片上打孔,後来在终端机上用键盘直接与大型主机沟通。PC上的键盘在某些方面进行了扩充,例如,加上了功能键、游标移动键和单独的附加键盘(数字小键盘),但它们的输入原理基本相同。 8.1 键盘输入概论 早期的电脑程序员用键盘在Hollerith卡片上打孔,後来在终端机上用键盘直接与大型主机沟通。PC上的键盘在某些方面进行了扩充,例如,加上了功能键、游标移动键和单独的附加键盘(数字小键盘) 。。 功能键是调用系统的按键,它们通常用到Alt、F1-F10键。程序不必监视这些按键,因为Windows会将按键的作用通知程序(当然,如果程序想这么做,它也能监视这些按键)。虽然应用程序的按键将通过窗口的窗口消息处理程序,但通常内定的处理方式是将按键传递给DefWindowProc。由DefWindowProc 通知操作系统发出新的窗口处理函数。最终,窗口消息处理程序将获得一个消息,表示某一功能被选择了。 8.1 键盘输入概论 Windows应用程序如何获得键盘的输入呢?这首先要从键盘的输入开始,一个键盘输入称为一个键盘事件,键盘事件发送到Windows系统,Windows系统就发出一个相应的键盘消息。Windows用八种不同的键盘消息来传递八种不同的键盘事件 。 WM_KEYDOWN、WM_KEYUP、WM_SYSKEYDOWN、WM_SYSKEYUP WM_CHAR、WM_DEADCHAR、WM_SYSCHAR、WM_SYSDEADCHAR 8.1.1 键盘的输入焦点 系统中有许多进程,每一个进程要一个窗口来显示进程的工作情况,所以,键盘必须为每一个进程的窗口所共用。程序从消息队列中取出消息,该消息是一个MSG结构,此结构中的hwnd栏目就是指向接收此消息的窗口函数的指针。 每个消息都有指向接收消息hwnd,当然只有这个窗口的窗口函数接收此键盘消息。 能够接收特定键盘消息的窗口称为具有输入焦点的窗口 。 那个窗口具有输入焦点可以由Windows系统来决定,也可以由应用程序的窗口函数通过拦截WM_SETFOCUS和WM_KILLFOCUS消息来判定它的窗口何时拥有或删除输入焦点。 8.1.2 系统消息队列,应用程序消息队列 当用户按下并释放键盘上的按键时,Windows处理键盘输入消息的过程是:Windows和键盘驱动程序将键盘扫描码转换为格式化的消息。然后将这些消息保存在“系统消息队列”中。系统消息队列是独立的消息队列,它由Windows维护,用於初步保存从键盘和鼠标输入的信息。当Windows应用程序处理完前一个用户输入消息时, Windows才会从系统消息队列中取出下一个消息,并将其放入应用程序的消息序列中。 此过程分为两步的原因是窗口消息处理程序对消息的处理和键盘输入需要同步。 8.2 按键 键盘事件的表现形式是一个键盘扫描码。Windows和键盘驱动程序将键盘扫描码转换为格式化的键盘消息。键盘消息可以分为按键消息和字符消息两类。 对产生可显示字符的按键,Windows不仅给应用程序发送按键消息,而且还发送字符消息。有些键则不产生字符消息,这些键包括shift键、功能键、游标移动键和特殊字符键如Insert和Delete。对於这些键,Windows只产生按键消息。 8.2.2 四个按键消息 按键消息有四种形式, 对有的按键而言,桉下按键时只能产生按键消息,但对有的按键而言,桉下按键时既能产生按键消息,又能产生字符消息,本节首先介绍桉下按键时产生按键消息的情况,产生字符消息溜到后面介绍。 8.2.3 系统按键消息与非系统按键消息 四个按键消息,WM_KEYDOWN、WM_KEYUP、WM_SYSKEYDOWN和WM_SYSKEYUP是消息的名,每个消息除了消息名以外,还有hwnd,wParam, lParam,它们是消息的参数,消息名和它的参数们存放在一个称为MSG结构中,其中,wParam表示按下或释放键得到的虚拟键码,而lParam则包含了属於按键的其他信息。 四个按键消息中, WM_KEYDOWN和WM_KEYUP称为非系统按键消息,WM_SYSKEYDOWN和WM_SYSKEYUP称为系统按键消息, 系统按键消息WM_SYSKEYD
您可能关注的文档
最近下载
- 鹦鹉养殖与驯化.pdf VIP
- 2025届高考英语二轮复习:非谓语动词课件 (共49张PPT).ppt.pptx VIP
- 雕刻机快速调试使用指南教学文稿.pdf VIP
- 部编版小学四年级道德与法治上册期末复习全册必背知识点汇总(按单元整理).docx VIP
- 骨折术后护理查房.pptx VIP
- 《高校学生就业与创业指导》全套教学课件.pptx
- 2025年新高二数学专项提升(人教A版)暑假培优练04 直线与圆 (14大巩固提升练+能力提升练+高考专练) 学生版.pdf VIP
- 2026届高考数学专项复习:直线与圆.pdf VIP
- 第二章 直线和圆的方程 重点题型章末总结(14类热点题型讲练)原卷版-2025-2026学年高二数学(人教A版选择性必修第一册).pdf VIP
- 执业药师中药二单味药整理学习.pdf VIP
文档评论(0)