有时,我们写一些简单的类时懒得生成.c,但又想添加 消息映射,作一个微少改动即可
首先 BEGIN_MESSAGE_MAP 改为
#define BEGIN_MESSAGE_MAP_XX(theClass, baseClass) \
PTM_WARNING_DISABLE \
const AFX_MSGMAP* theClass::GetMessageMap() const \
{ return GetThisMessageMap(); } \
const AFX_MSGMAP* PASCAL theClass::GetThisMessageMap() const\
{ \
typedef theClass ThisClass; \
typedef baseClass TheBaseClass; \
static const AFX_MSGMAP_ENTRY _messageEntries[] = \
{
然后像平时一样使用 例如
BEGIN_MESSAGE_MAP_XX(CReportListCtrl, CListCtrl)
ON_WM_SETFOCUS()
END_MESSAGE_MAP()
void OnSetFocus(CWnd* pOldWnd)
{
CListCtrl::OnSetFocus(pOldWnd);
// TODO: 在此处添加消息处理程序代码
}