消息映射机制
任何需要消息映射的类,在其定义中必须加入DECLARE_MESSAGE_MAP()。
宏DECLARE_MESSAGE_MAP() 的定义如下:
#ifdef _AFXDLL
#define DECLARE_MESSAGE_MAP() /
private: /
static const AFX_MSGMAP_ENTRY _messageEntries[]; / //采用登录AFX_MSGMAP_ENTRY的私有数组_messageEntries,称为登录消息
protected: /
static AFX_DATA const AFX_MSGMAP messageMap; / //指向登录消息数组的消息映射
static const AFX_MSGMAP* PASCAL _GetBaseMessageMap(); / //返回消息映射的地址
virtual const AFX_MSGMAP* GetMessageMap() const; /
#else
#define DECLARE_MESSAGE_MAP() /
private: /
static const AFX_MSGMAP_ENTRY _messageEntries[]; /
protected: /
static AFX_DATA const AFX_MSGMAP messageMap; /
virtual const AFX_MSGMAP* GetMessageMap() const; /
#endif
AFX_MSGMAP_ENTRY定义如下:
struct AFX_MSGMAP_ENTRY
{
UINT nMessage; // windows messa