在mfc中什么是消息映射表?

如题所述

BEGIN_MESSAGE_MAP(CCH372_CPlusDlg, CDialog)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDCANCEL, &CCH372_CPlusDlg::OnBnClickedCancel)
ON_WM_ERASEBKGND()
END_MESSAGE_MAP()
这样就是一个工程叫CCH372_CPlusDlg的消息映射表,它以BEGIN_MESSAGE_MAP开始,END_MESSAGE_MAP()结尾,你在工程的.cpp文件中能找到。

//}}AFX_MSG_MAP这句话上面的是系统自动加的,它下面的代码是人工或是用classwizard添加的

ON_BN_CLICKED(IDCANCEL, &CCH372_CPlusDlg::OnBnClickedCancel)
看这个消息映射,BN是button,消息类型为按钮单击,按钮ID:IDCANCEL,消息响应:OnBnClickedCance

ON_WM_ERASEBKGND()
WM是window message,一个窗口消息,这个消息是WM_ERASEBKGND,这种消息它的消息响应函数的名字是特定的,所以在这不用以显视的形式给出
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-03-11
在类的实现文件中有ONCOMMAND 或ONNOTIFY 之类的宏就是消息映射表追问

那类的消息映射表的数组中每个元素都含有消息标识和消息处理函数吗?

MFC 消息映射原理是什么?
消息映射就是建立一个消息和函数的对应表,当收到消息时查找表,如果表中有相应的消息,就将消息交给相应的函数处理。通俗点讲,消息映射表就是一个记录了消息号和相应处理函数的数组。当然表中还有其他信息,这里先说矛盾的主要方面了。其中消息映射表中的每个元素都是一个结构体变量,他的成员很多,最...

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

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

DECLARE_MESSAGE_MAP()是什么意思啊?
在MFC中,消息映射是一种机制,用于将Windows消息(如鼠标点击、键盘按键等)映射到特定的成员函数。这使得开发者可以方便地处理各种用户输入和系统事件。DECLARE_MESSAGE_MAP()宏用于在类的实现文件中声明一个消息映射表,该表将Windows消息ID映射到类的成员函数。要使用DECLARE_MESSAGE_MAP(),首先需要在...

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

刚学MFC这是什么意思,不太明白?
1.在类里声明消息响应函数,以afx_msg 开头,比如afx_msg void OnMyMessage();2.定义消息,#define WM_MY_MESSAGE WM_USER+100 \/\/这时你的消息是WM_MY_MESSAGE 3.在BEGIN--END之间添加映射:ON_MESSAGE(WM_MY_MESSAGE,OnMyMessage)\/\/第一个参数都是消息,第二个都是响应函数,要注意OnMy...

什么是消息映射?它的作用是什么?
应用程序可以产生消息使窗体执行任务,或者与其他应用程序中的窗口通讯。MFC使用一种消息映射机制来处理消息,在应用程序框架中的表现就是一个消息与消息处理函数一一对应的消息映射表,以及消息处理函数的声明和实现等代码。当窗口接收到消息时,会到消息映射表中查找该消息对应的消息处理函数,然后由消息处理...

消息映射和消息回调有什么区别
消息的类型是COMMAND,消息的回调函数是OnDataAccess 消息回调就是调用回调函数,MFC响应消息的机制都是以回调函数的形式进行的,这就要求你在定制消息时有几步必需做的步骤 1.定义消息 2.消息映射 3.消息响应声明 4.消息响应函数的实现 消息响应就是回调函数,这些在孙鑫老师的视频中都有提到 ...

在mfc中的消息映射中,有这样几种:on_command(id号,函数),on_wm_lbu...
on_command(id号,函数)是将菜单,或工具栏命令映射到指定的函数上 ON_WM_LBUTTONDOWN 是映射WM_LBUTTONDOWN (鼠标左键按下) 到成员函数 OnLButtonDown(UINT nFlags,CPoint point );

MFC中消息映射函数和普通成员函数有什么区别
我认为最大的一个区别就是消息映射函数不是由你调用,而是当消息被触发时由MFC框架进行调用的,普通的成员函数则肯定是由你自己来调用啦。譬如你为鼠标左键映射了一个消息函数,那么当鼠标左键消息触发时,你肯定不用理会响应函数啦,系统会帮你调用该函数。有道理的话,请采纳。

相似回答