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

[工学]第5章:Windows应用程序引擎——消息映射.ppt

[工学]第5章:Windows应用程序引擎——消息映射.ppt

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

图5.9 消息选项对话框 图5.8 Spy++的消息列表 习题 一.名词解释 1.消息映射 2.消息路由 3.自定义消息 二. 简答题 1发送消息可以采用SendMessage()和 PostMesaage()函数完成,请查阅MSDN说出这些函数参数的含义,指出他们的区别。 2.Windows的消息分为哪四类?请举例说明。 3.当应用程序接收到一个窗口消息时,该消息可以被应用程序中从CCmdTarget派生的不同类来处理,具体靠哪个类来处理,程序员可以指定。也就是说,消息可以在应用程序的不同类之间流动。请问在单文档的应用程序中,消息是如何流动的? 三. 实验题 1.利用定时器消息实现一个滚动的字幕,即程序运行后,在屏幕的中央显示一行文本“我爱VC++编程”,该字幕从屏幕循环地从屏幕的左边滚动到右边,当字母超出屏幕右边界时,字母又从屏幕的左边出现。编写该程序,并上机调试。 2.模仿5.3.5节内容,编写一个自定义消息,在该自定义消息的映射函数中,实现调用Windows“附件”中“纸牌”游戏。该自定义消息的发出在程序刚运行的过程中就利用发送消息函数来发送。编写该程序,并上机调试。 * 5.2.3 利用函数发送消息 使用PostMessage()投递消息 在线程消息队列中的队尾放置消息并立刻返回 不等待线程处理这条消息。 使用SendMessage()立即发送消息 直接向一窗口函数发送消息,它调用一个窗口函数 等待窗口函数对消息的处理和返回结果。 使用SendDlgItemMessage()向对话框中控件发送消息 要指定控件的标识和含有该控件的对话框窗口句柄。 5.2.4 消息的接收与处理 一般情况下,使用GetMessage()函数来读取这些消息由DispatchMessage()将它们传送给相应的窗口函数进行处理.另外,Windows还可以直接将某些消息发送给某些应用程序的窗口函数,而不将它们放入应用程序的队列中,可以使用SendMessage()函数达到此目的。MFC应用程序中,消息的接收和处理靠消息映射机制来完成,当接收到一个消息时,Windows从消息映射表中找出该消息所对应的消息映射函数,然后调用该映射函数完成相应的功能。 5.3 常用的窗口消息 5.3.1 键盘消息 5.3.2 鼠标消息 5.3.3 WM_TIMER消息 5.3.4 自定义消息 *5.3.5 Windows消息监测工具Spy++的使用 5.3.1 键盘消息 1.扫描码与虚拟码 按下一个键或者释放一个键,键盘设备就产生一个扫描码(ScanCode),这些扫描码是键盘的物理码,每一个扫描码可以唯一地确定一个按键。为了实现与设备无关的键盘操作,Windows系统中定义了一个虚拟键盘, Windows的键盘驱动程序(Keybord.drv)实现将各种不同的物理键盘映射到同一个虚拟键盘,程序员处理的是这唯一的虚拟键 .表5.3 常用的虚拟键代码 表5.3 常用的虚拟键代码 符号常量 对应按键 符号常量 对应按键 VK_LBUTTON 鼠标左键 VK_0—VK_9 0键--9键 VK_RBUTTON 鼠标右键 VK_A—VK_Z A键到Z键 VK_BACK 退格键(BACKSPACE键) VK_NUMPAD0—9 数字小键盘0--9键 VK_RETURN 回车键(Enter) VK_MULTIPY 乘号键 VK_SHIFT Shift键 VK_ADD 加号键 VK_CAPITAL CapsLock键 VK_SUBTRACT 减号键 VK_ESCAPE Esc键 VK_F1—VK_F24 F1键到F24键 VK_SPACE SpaceBar键 VK_NUMLOCK Num Lock键 VK_PRIOR PageUp键 VK_TAB 制表键(Tab) VK_NEXT PageDown键 VK_PAUSE Pause键 VK_END End键 VK_INSERT Ins键 VK_HOME Home键 VK_DELETE Del键 VK_LEFT Left Arrow(←)键 VK_DOWN Down Arrow(↓)键 2.击键消息 对于键盘上的所有键,每次按下或释放时,都会产生击键消息。击键消息主要有四种,分别为WM_KEYDOWN(键按下)、WM_SYSKEYDOWN(系统键按下)、WM_KEYUP(键弹起)、 WM_SYSKEYUP(系

文档评论(0)

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

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

1亿VIP精品文档

相关文档