(1)在.h或.cpp文件定义一个消息 #define CLICK_MESSAGE_BOX WM_USER+1001
//add by 20180612 给主窗口ctrl.cpp发送消息
//自定义消息
#define WM_PENSIGNMSG WM_USER+1001
(2)在.h中类定义里添加消息映射DECLARE_MESSAGE_MAP()
//类的定义
class CamPenSignerCtrl : public COleControl
{
// 消息映射
DECLARE_MESSAGE_MAP()
}
(3)在.h中类定义里添加宏里面添加消息处理函数声明
//类的定义
class CamPenSignerCtrl : public COleControl
{
//add by 20180612 给主窗口ctrl.cpp发送消息
//定义消息处理函数
afx_msg LRESULT OnPensignMsgHandler(WPARAM wParam, LPARAM lParam);
}
(4)cpp文件里链接消息和消息映射函数
BEGIN_MESSAGE_MAP(CamPenSignerCtrl, COleControl)
//add by 20180612 给主窗口ctrl.cpp发送消息
//实现消息映射
ON_MESSAGE(WM_PENSIGNMSG,OnPensignMsgHandler)
END_MESSAGE_MAP()
(5)cpp中实现消息响应函数
afx_msg LRESULT CamPenSignerCtrl::OnPensignMsgHandler(WPARAM w,LPARAM l)
{
int nCode=l;
EvtHandler(nCode);
return 0;
}
(6)然后在本类中调用::PostMessage(PENSIGNMSG _MSG,0,0),当在这触发候,.cpp中的消息响应函数就触发了