C++的函数声明问题

2024-12-05 09:52:40
推荐回答(3个)
回答1:

afx_msg void function()这个是声明一个自定义的消息响应函数,函数名是function

BEGIN_MESSAGE_MAP(CMyButton,CButton)
消息与消息响应函数的映射关系
END_MESSAGE_MAP()

建议你搜下MFC的自定义消息响应函数
简单来说就是,你定义一个消息
#define WM_MSG WM_USER+100//WM_MSG就是你自定义的消息
afx_msg void function();//这个在.h文件里声明,是你自定义的消息响应函数
然后在关联消息和消息响应函数
ON_MESSAGE(WM_MSG,function)
这样,你的程序调用SendMessage发送一个WM_MSG消息,就会调用关联的消息响应函数了

回答2:

MFC的消息映射宏,初学看不懂很正常。
先别尝试去弄懂它什么意思了,初学者不要一上来就学MFC,根本不可能学的明白。
先搞好C基础,然后了解一下Win32了来。

回答3:

BEGIN_MESSAGE_MAP和END_MESSAGE_MAP之间的宏是消息映射,每个消息对应它的处理函数,不过像ON_WM_CREATE这种是有默认处理函数的,不如ON_WM_CREATE对应OnCreate,ON_WM_LBUTTONDOWN对应OnLButtonDown。afx_msg声明消息处理函数,就是上面说的OnCreate、OnLButtonDown等