首先MFC中支持自定义事件,但对于事件控件,VC6.0却没有图形界面的添加和维护操作。所以我们只能代码中进行手动添加,下面将以AXICCardCtl.h和AXICCardCtl.cpp为例进行添加自定义事件,如下分为四个步骤:
第一步:定义消息(AXICCardCtl.h)
#define WM_MY_MESSAGE (WM_USER+100)
第二步:建立消息映射(AXICCardCtl.h)
//{{AFX_MSG(CAXICCardCtrl)
afx_msg void OnMyMessage(WPARAM wParam, LPARAM lParam);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
afx_msg void OnMyMessage(WPARAM wParam, LPARAM lParam);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
第三步:关联消息处理函数(AXICCardCtl.cpp)
BEGIN_MESSAGE_MAP(CAXICCardCtrl, COleControl)
//{{AFX_MSG_MAP(CAXICCardCtrl)
ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)
//}}AFX_MSG_MAP
ON_OLEVERB(AFX_IDS_VERB_PROPERTIES, OnProperties)
END_MESSAGE_MAP()
//{{AFX_MSG_MAP(CAXICCardCtrl)
ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)
//}}AFX_MSG_MAP
ON_OLEVERB(AFX_IDS_VERB_PROPERTIES, OnProperties)
END_MESSAGE_MAP()
第四步:制定完善处理函数(AXICCardCtl.cpp)
void CAXICCardCtrl::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
// TODO: Add your message handler code here
}
{
// TODO: Add your message handler code here
}
至此完成。