欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第9章Windows应用程序引擎——消息映射.ppt

    • 资源ID:70105527       资源大小:556.50KB        全文页数:50页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第9章Windows应用程序引擎——消息映射.ppt

    第九章:第九章:Windows应用程序引擎应用程序引擎消息映射消息映射 教学要点教学要点 本本章章内内容容包包括括消消息息的的介介绍绍(产产生生、发发送送、路路由由、接接收收),消消息息映映射射和和消消息息、消消息息响响应应函函数数的的关关系系,常常见见窗窗口口消消息息(键键盘盘消消息息、鼠鼠标标消消息息和和定定时时器器消消息息)的的使使用用,消消息息监监视视工工具具Spy+使使用用。要要求求了了解解消消息息映映射射机机制制在在MFC中中的的应应用用程程序序中中的的作作用用、利利用用API发发送送同同步步和和异异步步消消息息、自自定定义义消消息息的的建建立立方方法法,熟熟悉悉消消息息监监视视工工具具Spy+的的使使用用,掌掌握握消消息息映映射射三三个个宏宏的的含含义义、键键盘盘消消息息、鼠鼠标标消消息息和和定定时时器器消消息息有有关关概概念念与与用用法法,熟熟练练掌掌握握在在应应用用程程序序向向导导生生成成的的程程序序中中定定位位到到对对应应三三个个消消息息映映射射宏宏,并并且且自自己己思考思考MFC应用程序的执行。应用程序的执行。Visual C+Visual C+内容简介内容简介 Windows操作系统下的应用程序都是基于事件驱动而工作的。消息映射是一种把消息映射到相应的消息响应函数上的机制。Windows的各种消息沿着MFC应用程序架构规定的路线,找到它的归宿消息映射函数。当找不到的话,最终交给窗口对象的DefWindowProc成员函数去进行默认的处理。Visual C+Visual C+教学目标教学目标 1.要求了解消息映射机制在MFC中的应用程序中的作用 利用API发送同步和异步消息、自定义消息的建立方法.2.熟悉消息监视工具Spy+的使用3.掌握消息映射三个宏的含义、键盘消息、鼠标消息和定时器消息有关概念与用法4.熟练掌握在应用程序向导生成的程序中定位到对应三个消息映射宏,并且自己思考MFC应用程序的执行过程中,为什么看不到API编程中的WinMain()函数。Visual C+Visual C+第第9 9章章 目录目录 9.1 认识消息 9.2 MFC中消息的发送与接收 9.3 常用的窗口消息 习题Visual C+Visual C+9.19.1 认识消息认识消息 消息机制是消息机制是Win32Win32程序设计的灵魂程序设计的灵魂,Win应用程序利用格式化的Windows消息与其它Windows应用程序及Windows系统进行通讯。可以使用GetMessage()函数来获取消息,然后利用DispatchMessage()函数发送消息,最后由窗口函数来进行消息的处理。MFC将面向对象的C+编程思想与消息驱动机制结合在一起.Visual C+Visual C+9.1.1消息的产生 9.1.2消息的种类 9.1.3一个应用程序的消息映射分析 9.1.4消息映射函数 *9.1.5用类向导管理消息映射 9.19.1 认识消息认识消息(下)(下)Visual C+Visual C+9.1.1 9.1.1 消息的产生消息的产生 Windows对每一个输入事件都产生一个消 息,Windows应 用 程 序 也 可 以 调 用Windows函数,指示Windows给应用程序发送 消 息,Windows系 统 环 境 也 可 以 给Windows应用程序发送消息,两个Windows应用程序之间也可通过WM_COPYDATA消息来共享数据。Visual C+Visual C+9.1.2 9.1.2 消息的种类消息的种类 1.窗口消息窗口消息(Windows message)窗口消息的产生一般与创建窗口、绘制窗口、移动窗口和销毁窗口及在窗口中操作等操作有关 2.命令消息命令消息 命令消息一般与处理用户的请求相关,是由某一用户接口事件所出发的消息。3 3.控件通知消息控件通知消息(Control notification)Control notification)某些重要事件发生时,由控件或者其他类型的子窗口发送到父窗口的消息。4.4.自定义消息自定义消息 有时候用户需要定义一些程序内部使用的消息,以区别于系统定义的消息,这些用户自己定义的消息称为自定义消息。Visual C+Visual C+9.1.3 9.1.3 一个应用程序的消息映射分析一个应用程序的消息映射分析 Windows靠消息的流动而转动,在利用Win32 API开发图形界面的应用程序时,在核心的窗口函数(进行消息处理的函数)中使用了一个大的switch/case结构进行流程的控制,对消息进行分门别类地控制。随着对响应消息的增加,switch/case结构会出现多层嵌套,程序理解会出现很大的困难,为了解决这个问题,在MFC中引入了消息映射的概念。Visual C+Visual C+例例:一个简单的演示消息映射一个简单的演示消息映射1生成程序框架(1)启动VC6.0,选择“File”菜单的“New”命令,在弹出的“New”对话框中选择“Project”选项卡。(2)在“Project”选项卡的列表中选择“MFC AppWizard(exe)”项,在“Project Name”编辑框中输入要创建的工程名称MsgMap,在“Location”编辑框中设置工程的存放位置,单击“OK”按钮。(3)在弹出的“MFC AppWizard-Step1”对话框中选择“single document”,然后单击“Finish”按钮。(4)在弹出的“New Project information”对话框中单击“OK”按钮,完成应用程序框架的创建。Visual C+Visual C+2消息映射 消息映射是一种把Windows系统的各种消息(共四类消息)映射到MFC类库的成员函数上的机制。MFC的应用程序中,消息映射可以被MFC的CCmdTarget类或从其派生而来的任何一个类来使用。在上述生成的MsgMap单文档应用程序中,共有应用程序类、框架类、文档类、视图类和对话框类。这五个类都是从CCmdTarget类派生而来,所以Windows操作系统可以向所有这些类发送消息。3应用程序框架中的消息映射 编译并运行上述程序,在程序的主界面中,单击工具栏中的“?”按钮,则弹出“关于MsgMap”对话框,我们以该功能的实现为例,来说明Windows中的命令消息的映射.Visual C+Visual C+3 3应用程序框架中的消息映射应用程序框架中的消息映射Visual C+Visual C+(1)“?”工具栏按钮的资源IDVisual C+Visual C+(2)“?”工具栏按钮的消息映射 利用应用程序向导生成的标准MFC应用程序中,从CCmdTarget派生的类将消息与消息响应函数通过一些预定义的宏联系起来,实现了一一对应,这种机制就是消息映射,MFC中使用的是功能强大的消息映射宏来实现的。它们是DECLARE_MESSAGE_MAP(初始化消息映射表)、BEGIN_MESSAGE_MAP(开始用户消息映射)、END_MESSAGE_MAP(结束用户消息映射)以及一些ON_宏。Visual C+Visual C+消息映射的声明消息映射的声明 class CMsgMapApp:public CWinApppublic:CMsgMapApp();/应用程序类的构造函数/Overrides 以下为可超载的虚拟函数/ClassWizard generated virtual function overrides/AFX_VIRTUAL(CMsgMapApp)public:virtual BOOL InitInstance();/AFX_VIRTUALVisual C+Visual C+消息映射的声明消息映射的声明/Implementation/AFX_MSG(CMsgMapApp)afx_msg void OnAppAbout();/工具栏按钮“?”的消息映射函数/NOTE-the ClassWizard will add and remove member functions here./DO NOT EDIT what you see in these blocks of generated code!/AFX_MSGmapping macros here./DO NOT EDIT what you see in these blocks of generated code!Visual C+Visual C+消息映射的定义消息映射的定义 DECLARE_MESSAGE_MAP()/消息映射宏的声明;BEGIN_MESSAGE_MAP(CMsgMapApp,CWinApp)/AFX_MSG_MAP(CMsgMapApp)ON_COMMAND(ID_APP_ABOUT,OnAppAbout)/工具栏?按钮ID_APP_ABOUT对单击的消息映射为OnAppAbout/NOTE-the ClassWizard will add and remove/AFX_MSG_MAP/Standard file based document commandsON_COMMAND(ID_FILE_NEW,CWinApp:OnFileNew)ON_COMMAND(ID_FILE_OPEN,CWinApp:OnFileOpen)/Standard print setup commandON_COMMAND(ID_FILE_PRINT_SETUP,CWinApp:OnFilePrintSetup)END_MESSAGE_MAP()Visual C+Visual C+4 4消息映射中的几种宏定义消息映射中的几种宏定义 消息映射中的映射都是一些定义好的宏,如ON_WM_MOUSEACTIVATE,ON_COMMAND,ON_UPDATE_COMMAND_COMMAND_UI,ON_BN_CLICKED,ON_MESSAGE,ON_REGISTER_MESAAGE等等,这些宏根据消息类别的不同而不同,有的有参数,有的无参数。表9.1是常见的宏。Visual C+Visual C+表表9.1 常见消息的映射宏常见消息的映射宏 消息类型宏的形式参数定义的窗口消息ON_WM_xxxx无命令消息ON_COMMAND命令ID,消息映射函数名命令更新消息ON_UPDATE_COMMAND同上控件通知消息ON_xxxx控件ID,消息映射函数名用户自定义消息ON_MESSAGE自定义消息ID,消息映射函数名注册窗口消息ON_REGISTERED_MESSAGE注册消息ID,消息映射函数名多个连续ID号的命令消息ON_COMMAND_RANGE连续命令的起始ID号和终止ID号多个连续ID号的命令更新消息ON_UPDATE_COMMAND_RANGE同上多个连续ID号的控件消息ON_CONTROL_RANGE控件通知码,连续控件的起始ID号和终止ID号Visual C+Visual C+9.1.4 9.1.4 消息映射函数消息映射函数 当Windows接收到一个消息时,Windows通过查找消息映射表就能找到一个专门的处理函数来对其进行响应,该函数就是消息映射函数(又叫消息响应函数),它已经是相应类的成员函数。Visual C+Visual C+消息映射函数消息映射函数 消息映射函数的实现代码为:void CMsgMapApp:OnAppAbout()/命令消息的消息映射函数的实现CAboutDlg aboutDlg;/声明一个“关于”对话框对象aboutDlgaboutDlg.DoModal();/调用对话框的成员函数DoModal显示对话框Visual C+Visual C+9.1.5 9.1.5 用类向导管理消息映射用类向导管理消息映射 1.管理消息 ClassWizard可以用于管理消息和用户交互对象 2.管理成员变量 3.管理ActivcX控件的事件与自动化 由于本书没有讲这方面的内容,故不作详细解释。Visual C+Visual C+9.2 9.2 MFCMFC中消息的发送与接收中消息的发送与接收 9.2.1 消息的发送与接收9.2.2 命令消息的路由 9.2.3 利用函数发送消息 9.2.4 消息的接收与处理 Visual C+Visual C+9.2.19.2.1消息的发送与接收消息的发送与接收 大部分消息的发送是由用户与应用程序之间的交互进行的。MFC中的CWinApp类的Run()成员函数负责把消息从应用程序的消息队列中取出,发送到应用程序的窗口函数WinProc()中,由该函数根据消息的类别,传送到相应的对象中。每一个能够接收消息的对象(从CCmdTarget派生)都有一个消息映射表,它用来连接消息与对应的消息响应函数。Visual C+Visual C+9.2.2 9.2.2 命令消息的路由命令消息的路由 在MFC程序中,大多数要处理的消息都针对一种类型的对象窗口,这符合Windows API的模式,而且,这些消息的命名都是有实际意义,如消息WM_CREATE、WM_MOVE和WM_SIZE就告诉我们一个窗口被创建、移动和改变其大小了。任何由CCmdTarget派生的类对象都能接收命令消息(点击菜单后发出的WM_COMMAND消息),这些类对象组成一个有序链表,链表中的每一个对象都可以同时接收到命令消息,但命令消息是按照一定的路径传送的,链表中的各个对象处理命令消息的优先级的顺序并不相同。表9.2列出了当MFC发送命令消息给非文档/视窗结构的应用、单文档应用以及多文档应用程序时,查找消息映射表的次序。表9.2不同应用类型中命令消息的处理路径 Visual C+Visual C+表表9.2 不同应用类型中命令不同应用类型中命令消息的处理路径消息的处理路径应用类型基类描述非文档/视窗结构CFrameWnd框架窗口首先得到消息CWinApp应用程序第二个得到消息单文档界面CView激活的视窗首先得到消息CDocument激活的视窗的文档第二个得到消息CSingleDocTemplate激活的视窗的文档模板第三个得到消息CFrameWnd框架窗口第四个得到消息CWndApp应用程序最后得到消息多文档界面CView激活视窗首先得到消息CDocument激活视窗的文档第二个得到消息CMultiDocTemplate激活视窗的文档模板第三个得到消息CMDIChildFrame子框架窗口第四个得到消息CMDIFrameWnd父框架窗口第五个得到消息CWndApp应用程序最后得到消息Visual C+Visual C+9.2.39.2.3利用函数发送消息利用函数发送消息 使用PostMessage()投递消息在线程消息队列中的队尾放置消息并立返回不等待线程处理这条消息。使用SendMessage()立即发送消息直接向一窗口函数发送消息,它调用一个窗口函数等待窗口函数对消息的处理和返回结果。使用SendDlgItemMessage()向对话框中控件发送消息要指定控件的标识和含有该控件的对话框窗口句柄。Visual C+Visual C+9.2.49.2.4消息的接收与处理消息的接收与处理 一般情况下,使用GetMessage()函数来读取这些消息由DispatchMessage()将它们传送给相应的窗口函数进行处理.另外,Windows还可以直接将某些消息发送给某些应用程序的窗口函数,而不将它们放入应用程序的队列中,可以使用SendMessage()函数达到此目的。MFC应用程序中,消息的接收和处理靠消息映射机制来完成,当接收到一个消息时,Windows从消息映射表中找出该消息所对应的消息映射函数,然后调用该映射函数完成相应的功能。Visual C+Visual C+9.39.3 常用的常用的窗口窗口消息消息 9.3.1 键盘消息键盘消息9.3.2 鼠标消息鼠标消息 9.3.3 WM_TIMER消息消息 9.3.4 自定义消息自定义消息*9.3.5 Windows消息监测工具消息监测工具Spy+的使用的使用 Visual C+Visual C+9.3.1键盘消息键盘消息 1扫描码与虚拟码 按下一个键或者释放一个键,键盘设备就产生一个扫描码(ScanCode),这些扫描码是键盘的物理码,每一个扫描码可以唯一地确定一个按键。为了实现与设备无关的键盘操作,Windows系统中定义了一个虚拟键盘,Windows的键盘驱动程序(Keybord.drv)实现将各种不同的物理键盘映射到同一个虚拟键盘,程序员处理的是这唯一的虚拟键.表9.3 常用的虚拟键代码 Visual C+Visual C+表表9.3 常用的虚拟键代码常用的虚拟键代码 符号常量对应按键符号常量对应按键VK_LBUTTON鼠标左键VK_0VK_90键-9键VK_RBUTTON鼠标右键VK_AVK_ZA键到Z键VK_BACK退格键(BACKSPACE键)VK_NUMPAD09数字小键盘0-9键VK_RETURN回车键(Enter)VK_MULTIPY乘号键VK_SHIFTShift键VK_ADD加号键VK_CAPITALCapsLock键VK_SUBTRACT减号键VK_ESCAPEEsc键VK_F1VK_F24F1键到F24键VK_SPACESpaceBar键VK_NUMLOCKNum Lock键VK_PRIORPageUp键VK_TAB制表键(Tab)VK_NEXTPageDown键VK_PAUSEPause键VK_ENDEnd键VK_INSERTIns键VK_HOMEHome键VK_DELETEDel键VK_LEFTLeft Arrow()键VK_DOWNDown Arrow()键Visual C+Visual C+2击键消息击键消息 对于键盘上的所有键,每次按下或释放时,都会产生击键消息。击键消息主要有四种,分别为WM_KEYDOWN(键按下)、WM_SYSKEYDOWN(系统键按下)、WM_KEYUP(键弹起)、WM_SYSKEYUP(系统键弹起)。Visual C+Visual C+3字符消息字符消息 当按了键盘上的任一个键时,Windows都会向窗口函数发送击键消息,对于那些产生可显示字符的操作,Windows还会向窗口函数发送字符消息WM_CHAR。因此字符消息不是由硬件产生的,而是由可产生显示字符的击键消息转换而来的,表9.击键与消息的关系。Visual C+Visual C+表表9.9.击键与消息的关系击键与消息的关系 击键方式消息次序wParam参数按下“A”键然后释放WM_KEYDOWN虚拟键AWM_CHARA的ASCII码WM_KEYUP虚拟键A先按Shift键,再按A键WM_KEYDOWN虚拟键VK_SHIFT然后释放A键,最后释放WM_KEYDOWN虚拟键AShift键WM_CHARA的ASCII码WM_KEYUP虚拟键AWM_KEYUP虚拟键VK_SHIFT按下A键持续一端时间WM_KEYDOWN虚拟键AWM_CHARA的ASCII码WM_KEYDOWN虚拟键AWM_CHARA的ASCII码WM_KEYDOWN虚拟键AWM_CHARA的ASCII码WM_KEYUP虚拟键AVisual C+Visual C+9.3.2 9.3.2 鼠标消息鼠标消息 1.鼠标简介 2.鼠标消息 3.鼠标消息响应函数 Visual C+Visual C+1.1.鼠标简介鼠标简介 Windows系统支持单键(光笔就是模拟单键的鼠标)、双键和三键的鼠标,利用API函数GetSystemMetric()可以检测鼠标是否存在以及鼠标上键的个数。Visual C+Visual C+2.2.鼠标消息鼠标消息 当用户移动、按下或释放鼠标箭时,都会产生鼠标消息,根据鼠标所处的位置不同(窗口的客户区或非客户区),Windows下的鼠标消息也分为两大类:客户区域的鼠标消息、非客户区域的鼠标消息。Visual C+Visual C+3.3.鼠标消息响应函数鼠标消息响应函数 afx_msg void OnLButtonDown(UINT nFlags,CPoint point);参参数数nFlagsnFlags代代表表当当按按下下一一个个鼠鼠标标键键盘盘时时,各各种种虚虚拟拟键键盘盘上上的的键键或或鼠鼠标标上上的的键键是是否否真真的的被被按按下下,该该参参数数的的值值有有:MK_CONTROLMK_CONTROL(若若按按下下CtrlCtrl键键,则则置置位位),MK_SHIFTMK_SHIFT(若若按按下下ShiftShift键键,则则置置位位),MK_LBUTTONMK_LBUTTON(若若按按下下鼠鼠标标左左键键,则则置置位位),MK_MBUTTONMK_MBUTTON(若若按按下下鼠鼠标标中中键键,则则置置位位),MK_RBUTTONMK_RBUTTON(若若按按下下鼠鼠标标右右键键,则则置置位位)。参数参数pointpoint代表客户区坐标中鼠标光标的坐标位置。代表客户区坐标中鼠标光标的坐标位置。Visual C+Visual C+9.3.3 9.3.3 WM_TIMERWM_TIMER消息消息 Windows定时器是一种周期性的消息产生装置,它会每隔一段指定时间发送一次定时消息WM_TIMER。它是一个很重要的系统消息,当系统所设置的时间到达以后,系统就会自动发送该消息。与该消息联系密切的一个函数是SetTimer(),它设置一个系统时钟,当设置的时间到时,系统产生WM_TIMER消息。通过对SetTimer()函数的参数进行设置,告诉用户哪一个时钟的时间到了,因此,可以将一些周期性的工作放入WM_TIMER的消息处理函数 Visual C+Visual C+WM_TIMERWM_TIMER消息消息定时器的使用一般遵循下列步骤:1.使用SetTimer()函数设置定时器2.超载OnTimer()函数,完成用户希望的操作3.撤消定时器KillTimer().Visual C+Visual C+9.3.4 9.3.4 自定义消息自定义消息 Windows应用程序利用格式化的Windows消息来与其它Windows应用程序及Windows系统进行通讯,这些消息被发往应用程序的窗口函数进行处理。Visual C+Visual C+建立自定义消息的操作步骤为建立自定义消息的操作步骤为:1.定义自己的窗口消息(定义消息标识符)2.在适当的位置声明消息处理函数3.将消息处理函数与消息对应起来(映射消息)4.编写代码实现该消息处理函数5.利用消息函数向指定的窗口发送消息6.【例9-5】本程序实现利用自定义消息实现启动Windows系统中“附件”中的“画图”程序。Visual C+Visual C+*9.3.5*9.3.5 WindowsWindows消息监测工具消息监测工具Spy+Spy+的使用的使用 Windows系统通过传递消息到各个窗口来通知其用户的行为,因此,弄清楚应用程序可以接收的消息类型对掌握Windows的编程十分重要。然而Windows系统中有一千个左右的消息,有时候要搞清楚应该处理哪些消息是很困难的。Visual Studio中包含的Spy+工具就提供了这种能力,它能显示发送到各个窗口的每一条消息,同时能探测出各个应用程序中的窗口、进程、线程。Visual C+Visual C+*9.3.5*9.3.5 WindowsWindows消息监测工具消息监测工具Spy+Spy+的使用的使用 Spy+Spy+显示的层次结构反映了系统对象的层次结构:显示的层次结构反映了系统对象的层次结构:进程拥有线程、线程拥有窗口进程拥有线程、线程拥有窗口。注意有的线程可以没有窗口,有窗口的线程在接收消注意有的线程可以没有窗口,有窗口的线程在接收消息时,其优先级别就会提高。这一机制使得息时,其优先级别就会提高。这一机制使得WindowsWindows的图的图形用户界面能够快速响应用户的输入。形用户界面能够快速响应用户的输入。在开发在开发WindowsWindows应用程序的过程中,常常会碰到程序不应用程序的过程中,常常会碰到程序不能正常结束的错误,虽然用户程序窗口已经不存在了,但能正常结束的错误,虽然用户程序窗口已经不存在了,但其进程仍在系统中运行其进程仍在系统中运行,Spy+Spy+的的线程窗口能准确地告诉线程窗口能准确地告诉我们当前有多少线程在系统中运行我们当前有多少线程在系统中运行。Visual C+Visual C+*9.3.5 Windows消息监测工具Spy+的使用 为了给出一个典型的使用实例,为了给出一个典型的使用实例,图图9.7显示了包含进显示了包含进程表和窗口表的程表和窗口表的Spy+。Spy+的功能之一就是帮助的功能之一就是帮助我们了解应用程序在创建用户界面时如何组织窗口的。我们了解应用程序在创建用户界面时如何组织窗口的。为了查看发往窗口的消息,可以在为了查看发往窗口的消息,可以在Spy+中开一个消息中开一个消息窗。方法是在工具栏中选择窗。方法是在工具栏中选择Process(进程),在打开进程),在打开的进程窗口中选择欲观察的进程(如图的进程窗口中选择欲观察的进程(如图9.7所示,准备检所示,准备检测测Word字处理程中的消息,在进程窗口中选择字处理程中的消息,在进程窗口中选择WINWORD进程)。然后选择进程)。然后选择Message Log工具栏按工具栏按钮,弹出消息选项对话框(钮,弹出消息选项对话框(如图如图9.9所示所示)。单击)。单击OK按按钮后,就进入到消息监视窗口中(钮后,就进入到消息监视窗口中(如图如图9.8所示所示)Visual C+Visual C+图图9.7 9.7 Spy+Spy+的进程列表的进程列表 Visual C+Visual C+图图9.8 9.8 Spy+Spy+的消息列表的消息列表 Visual C+Visual C+图图9.9 消息选项对话框消息选项对话框Visual C+Visual C+习题习题一.名词解释 1消息映射 2消息路由 3自定义消息 二.简答题 1发送消息可以采用SendMessage()和 PostMesaage()函数完成,请查阅MSDN说出这些函数参数的含义,指出他们的区别。2Windows的消息分为哪四类?请举例说明。3当应用程序接收到一个窗口消息时,该消息可以被应用程序中从CCmdTarget派生的不同类来处理,具体靠哪个类来处理,程序员可以指定。也就是说,消息可以在应用程序的不同类之间流动。请问在单文档的应用程序中,消息是如何流动的?Visual C+Visual C+三.实验题 1利用定时器消息实现一个滚动的字幕,即程序运行后,在屏幕的中央显示一行文本“我爱VC+编程”,该字幕从屏幕循环地从屏幕的左边滚动到右边,当字母超出屏幕右边界时,字母又从屏幕的左边出现。编写该程序,并上机调试。2模仿9.3.5节内容,编写一个自定义消息,在该自定义消息的映射函数中,实现调用Windows“附件”中“纸牌”游戏。该自定义消息的发出在程序刚运行的过程中就利用发送消息函数来发送。编写该程序,并上机调试。

    注意事项

    本文(第9章Windows应用程序引擎——消息映射.ppt)为本站会员(qwe****56)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开