关于DECLARE_MESSAGE_MAP()

我正在学习《深入浅出MFC》的六大关键技术仿真,目前正在看消息映射和消息传递。但是在看Frame8范例的时候有个地方不太明白,
class CCmdTarget:public CObject
{
public :
//省略
DECLARE_MESSAGE_MAP()
}
class CWnd:public CCmdTarget
{
public:
//省略
DECLARE_MESSAGE_MAP()
}
基类CCmdTarget已经有DECLARE_MESSAGE_MAP()这条语句了,怎么子类CWnd继承的时候还要再写一次呢?

1个回答

因为子类如果要新增不同于父类的消息的话,就需要写,否者靠父类是不能处理的

lym753024200
风浪静 哦,DECLARE_MESSAGE_MAP()只是在类中添加了两个变量和两个函数,其中一个函数用于自己,另一个函数用于父类,这个宏很复杂,一直觉得MFC没API好用
5 年多之前 回复
yujx1217
yujx1217 DECLARE_MESSAGE_MAP()只是申明变量和函数,BEGIN_MESSAGE_MAP() END_MESSAGE_MAP()才是增加消息啊?
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问