2 yujx1217 yujx1217 于 2014.05.11 16:23 提问

关于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
lym753024200   2014.05.11 17:29

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

lym753024200
lym753024200 哦,DECLARE_MESSAGE_MAP()只是在类中添加了两个变量和两个函数,其中一个函数用于自己,另一个函数用于父类,这个宏很复杂,一直觉得MFC没API好用
3 年多之前 回复
yujx1217
yujx1217 DECLARE_MESSAGE_MAP()只是申明变量和函数,BEGIN_MESSAGE_MAP() END_MESSAGE_MAP()才是增加消息啊?
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!