仿MFC消息映射框架

来源:互联网 发布:世界科技排名知乎 编辑:程序博客网 时间:2024/05/29 19:36

MFC的消息映射机制实际是由一个类自定义的函数列表来完成,中间有些小技巧需要注意

OwnMessageMapDef.h

 

 

OwnMessageMap.h

 

OwnMessageap.cpp

 

 

实例代码

 

要点:

1.#define ON_OWN_COMMAND_V_I(id, pfn) /
                   { id, OwnSig_v_i, (OWN_PMSG)(OWN_PMSG_V_I)(pfn) },

这里存在两次强转,第一次转型为基类对应的成员函数类型,第二次转型为void成员函数指针

 

2.#define DECLARE_OWN_MESSAGE_MAP() /
     protected: /
           virtual const OWN_MSGMAP* GetMessageMap() const; /
           static const OWN_MSGMAP* __stdcall GetThisMessageMap();

派生类重写虚方法,基类直接返回一个空指针即可

 

3.union MessageMapFunctions的使用,参考MFC实现

 

原创粉丝点击