什么是消息映射?消息映射和消息处理函数间的关系是什么?,求指点,谢谢

如题所述

举个例子,你在主窗口里面定义一个命令,如“绘图”,然后利用classwizard为其在doc类里面定义一个响应函数Doc::OnPlot,
那么,你在执行程序时,如果你点击这个按钮,程序就会执行Doc::OnPlot这个程序段。
消息:你点击按钮这个动作就是消息;
处理函数:即执行函数Doc::OnPlot
二者之间的这个关系就称为消息映射,可以通过classwizard来实现。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-10-14
这个一两句说不清楚,可以看看 <<深入探讨MFC消息循环和消息泵>> 这篇文章,有代码实例,希望看完后能有所帮助。http://www.3iters.com/Html/?289.html

什么是消息映射
简单地讲,消息映射就是把消息跟处理消息的函数一一对应起来,系统内部有一个结构体数组,每个结构体元素都放有消息的类型与对映的处理函数入口地址,这样系统可以跟据消息的类型或ID找到相应的函数处理程序进行处理.

什么是消息映射?
消息映射简单来说就是一张表,上面有两列,一列是“消息”名称,另一列是“处理函数”名字。它的作用是,当甲事件发生,消息甲到达,查映射表,找出消息甲对应的处理函数,调用此处理函数处理。其它事件发生,有相应消息到达,查映射表,找出处理函数,处理。MFC消息映射机制的具体实现方法是:在每个能...

什么是消息映射
消息映射简单来说 就是一张表, 面有两列,一列是 “消息”名称,另一列是 “处理函数”名字。 它的作用是,当 甲事件发生,消息甲 到达,查映射表,找出 消息甲 对应的 处理函数, 调用 此 处理函数处理。 其它 事件发生,有相应消息到达,查映射表,找出处理函数,处理。 例如下面就是一张CXxxView 里的 ...

什么是消息映射?它的作用是什么?
MFC使用一种消息映射机制来处理消息,在应用程序框架中的表现就是一个消息与消息处理函数一一对应的消息映射表,以及消息处理函数的声明和实现等代码。当窗口接收到消息时,会到消息映射表中查找该消息对应的消息处理函数,然后由消息处理函数进行相应的处理。

MFC 消息映射原理是什么?
通俗点讲,消息映射表就是一个记录了消息号和相应处理函数的数组。当然表中还有其他信息,这里先说矛盾的主要方面了。其中消息映射表中的每个元素都是一个结构体变量,他的成员很多,最主要的就是消息号和相对应的消息处理函数。关于消息映射表的查找,是通过虚函数实现的,通过父类的虚函数查找父类及其...

...映射如何实现?其和消息处理函数间的关系是什么?
现在明白了吗?消息映射表,就是一个数组,数组里面的元素是一个消息结构,这个结构里面放着具体的消息与消息处理函数的指针。以消息映射表为基础,我们可以将winproc函数变成与具体消息无关的函数,而且,我们如果要添加,删除新的消息,那么只要修改消息映射表,和你下面写的消息处理函数就可以了。清晰明...

消息映射机制什么是消息映射机制
MFC(Microsoft Foundation Classes)采用了一种高效的消息映射机制,这一机制的核心在于构建一个消息与处理函数之间的映射表。这个表在应用程序框架中扮演着至关重要的角色,它包含了预定义的消息类型和对应的处理函数声明与实现代码。每当窗口接收到一个消息,它会自动在消息映射表中查找匹配的消息,然后调用...

消息映射,通俗一点,怎么理解?
把消息与对应的处理函数挂在一起.

消息映射机制消息映射表
在大部分类中,无需特别处理,系统会自动为它们生成消息映射表。这种表的结构通常如下所示:对于CMainFrame这样的类,其消息映射表的定义会包含一系列的处理函数和事件,如:在BEGIN_MESSAGE_MAP和END_MESSAGE_MAP这两个宏之间,定义了一系列的消息处理函数,比如:ON_WM_CREATE():处理创建(WM_CREATE)...

消息映射和消息回调有什么区别
消息映射是把消息与回调函数关联起来 例如ON_COMMAND(id_DataAccess, OnDataAccess)它会告诉系统消息的产生者是id_DataAccess,消息的类型是COMMAND,消息的回调函数是OnDataAccess 消息回调就是调用回调函数,MFC响应消息的机制都是以回调函数的形式进行的,这就要求你在定制消息时有几步必需做的步骤 1....

相似回答
大家正在搜