在 "深入浅出MFC" 中,有个定义如下:
AFX_PMSG pfn; ///: 1
此定义是处理消息的函数指针,AFX_PMSG的定义如下:
typedef void (CCmdTarget::* AFX_PMSG)(); ///:2
指针的初使化是在每个类的实现文件:
BEGIN_MESSAGE_MAP
//函数指针的初始化,实际上就是对消息结构的内容进行填充
END_MESSAGE_MAP
上面2处的定义怎么理解?
AFX_PMSG pfn; ///: 1
此定义是处理消息的函数指针,AFX_PMSG的定义如下:
typedef void (CCmdTarget::* AFX_PMSG)(); ///:2
指针的初使化是在每个类的实现文件:
BEGIN_MESSAGE_MAP
//函数指针的初始化,实际上就是对消息结构的内容进行填充
END_MESSAGE_MAP
上面2处的定义怎么理解?
void CCmdTarget::XXXXX()
{
}
而已
{
}
BEGIN_MESSAGE_MAP
//函数指针的初始化,实际上就是对消息结构的内容进行填充
END_MESSAGE_MAP这两个宏是对消息结构的内容进行填充,从而不同的消息有不同的处理函数,即不同消息AFX_PMSG指向的函数也不同。