消息映射 MFC

以下是MFC的消息映射,为什么BEGIN,END中间部分没有参数(一个消息参数,一个消息函数)?
BEGIN_MESSAGE_MAP(CMainWindow, CWnd)
ON_WM_CREATE()
ON_WM_PAINT()
ON_WM_TIMER()
END_MESSAGE_MAP()
这是另外一个程序的消息映射
BEGIN_MESSAGE_MAP(CMainDialog, CDialog)
ON_BN_CLICKED(IDC_START, OnStart)
ON_BN_CLICKED(IDC_CLEAR, OnClear)
ON_MESSAGE(WM_SOCKET, OnSocket)
END_MESSAGE_MAP()
这个映射在BEGIN,END中间部分有2个参数,消息跟消息函数一一对应,为什么会这样?

无参,就是用默认函数名和默认参数。
有参,就改用参数定义的 函数名和参数。
例如:
ON_WM_LBUTTONUP()
默认函数名和默认参数OnLButtonUp(UINT nFlags, CPoint point)
温馨提示:内容为网友见解,仅供参考
无其他回答

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

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

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

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

VC++ MFC 中的消息映射宏都有哪些
消息映射宏的种类 为了简化程序员的工作, MFC定义了一系列的消息映射宏和像AfxSig_vv这样的枚举变量,以及标准消息处理函数,并且具体地实现这些函数。这里主要讨论消息映射宏,常用的分为以下几类。用于 Windows消息的宏,前缀为“ON_WM_”。这样的宏不带参数,因为它对应的消息和消息处理函数的函数名称...

刚学MFC这是什么意思,不太明白?
BEGIN_MESSAGE_MAP和END_MESSAGE_MAP之间的就是传说中的消息映射。ON_WM_CREATE()表示映射关系,参数有消息和处理该消息的响应函数。这么说吧,你以后会自定义很多消息,这些消息的处理就是通过这个部分来实现的,使用的大致流程如下(我不用windows半年了,具体函数的拼写可能有误,但思路没问题,你见谅...

vc++ mfc当中怎么来添加添加消息映射?
系统已定义的用CTRL+W的向导添加,当然你也可以手动 如果自定义的消息 define WM_MY_MSG WM_USER + 1 头文件里声明:void Fun(WPARAM wParam, LPARAM lParam);cpp里:BEGIN_MESSAGE_MAP(CSubclass, CBaseclass)ON_MESSAGE(WM_UPDATE_ITEMS, Fun)END_MESSAGE_MAP()void CSubclass::Fun(WPARAM ...

VC++的MFC中关于消息映射,BEGIN_MESSAGE_MAP()和END_MESSAGE_MAP()之间...
BEGIN_MESSAGE_MAP和END_MESSAGE_MAP 这两个宏表示这个类的消息映射开始和结束,中间的宏定义定义了此类的所有的消息映射。前面的afx_msg void OnPaint();只是声明OnPaint()函数是一个消息处理函数,然后是OnPaint()函数的定义,但是函数定义在那儿是不会自己去执行的,ON_WM_PAINT()宏是一个系统消息...

MFC中 消息映射之后,不能调用相关处理函数
这是因为CMainWnd多半被CView的窗口挡住了,接收不到鼠标左键的点击消息(鼠标消息发给了CView窗口)改用你的CView派生类来接收鼠标消息就行了。

mfc问题,请高手帮忙。CAboutDlg的消息映射和CxxxDlg的消息映射的区别...
CAboutDlg,是MFC默认建立的,对应菜单”帮助—关于“的对话框。建立基于对话框的程序的时候,可以去掉不要这个(因为没用,对话框程序如果没用菜单和系统按钮,默认没有调用它的地方),所以,就是你那个XXXDlg才是主体程序对话框界面。

相似回答