MFC消息映射与消息传递机制.PPT

上传人:天*** 文档编号:972668 上传时间:2018-11-10 格式:PPT 页数:11 大小:40KB
下载 相关 举报
MFC消息映射与消息传递机制.PPT_第1页
第1页 / 共11页
MFC消息映射与消息传递机制.PPT_第2页
第2页 / 共11页
MFC消息映射与消息传递机制.PPT_第3页
第3页 / 共11页
MFC消息映射与消息传递机制.PPT_第4页
第4页 / 共11页
MFC消息映射与消息传递机制.PPT_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、第 7章 MFC消息映射与消息传递机制Windows 系统 是以消息为基础,以事件来驱动的 操作系统 ,了解操作系统的消息传递机制是很有必要的, 本章将进一步剖析 MFC的消息映射机制及命令传递机制, 探讨发送给窗口的消息是如何被 MFC框架,通过窗口句柄映射表和消息映射数组来用窗口类的处理函数进行响应的。7.1 消息概述Windows 系统对每一个输入事件都产生一个消息,例如按下鼠标的左键时会产生一个 WM_LBUTTONDOWN 消息。应用程序也可以调用 Windows 函数使得操作系统给应用程序发送消息,例如调用 CreateWindow ()函数创建窗口时,就会向窗口发送一个 WM_C

2、REATE 消息。 Windows 系统也可以给应用程序发送消息,例如定时时间到时,系统会发送 WM_TMER 消息。应用程序也可以产生自己的消息,并将它们发送给其他应用程序。7.1.1 队列消息和非队列消息从消息的发送途径上看,消息可以分为队列消息和非队列消息两种。其中队列消息送到系统消息队列,然后到线程消息队列中,而非队列消息直接送给目的窗口过程。1队列消息2非队列消息7.1.2 系统消息和应用程序消息从消息的来源来看,可以分为系统定义的消息和应用程序定义的消息。1系统消息2应用程序消息7.1.3 窗口消息、命令消息和控件通知根据处理函数和处理过程的不同, MFC框架的消息大致可以分为窗口

3、消息、命令消息和控件通知消息三大类。下面介绍一下每类消息的产生、格式以及相应的响应过程。1窗口消息2命令消息3控件通知消息7.2 MFC消息映射机制MFC利用 ClassWizard 来帮助实现消息映射, ClassWizard 会在源码中添加一些消息映射的内容,并声明和实现消息响应函数,现在通过一个单文档类型的应用程序来分析MFC框架的消息影射机制。7.2.1 MFC消息处理所谓消息映射,就是把 Windows 系统的各种消息映射到MFC类库的成员函数上的一种机制。简单地讲,就是让程序员指定要某个有消息处理能力的 MFC类来处理某个消息。 MFC提供了帮助工具 ClassWizard 来实现

4、消息映射,在处理消息的类中添加一些有关消息映射的内容,并添加一些处理消息的成员函数。程序员将完成消息响应函数,实现所希望的消息处理能力。7.2.2 一个应用程序的消息映射分析下面通过一个示例来分析消息映射,该示例主要实现鼠标左键消息的响应,即当按下鼠标左键,应用程序的视图类会捕获到鼠标左键按下消息,并对该消息进行响应,来弹出一个消息框。7.2.3 MFC消息映射的实现方法通过挖掘应用程序的源代码,读者可以发现 MFC使用ClassWizard 帮助实现消息映射时,在源代码中添加了三处与鼠标左键按下消息有关的代码。1消息响应函数原型2消息映射的实现3消息响应函数的实现7.2.4 消息映射宏的种类在消息响应函数实现的代码中,定义完ON_WM_LBUTTONDOWN 宏之后,还定义了一些带参数的 ON_COMMAND宏,虽然两种宏的格式截然不同,但都是用于初始化消息映射数组。究其原因,原来 MFC根据消息的不同和消息处理方式的不同,把消息映射划分成若干类别。常用的宏一般分为以下几类。1窗口消息宏2命令消息宏3控制通知消息宏4用户界面接口宏5自定义消息宏

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。