【发布时间】:2012-12-14 06:53:24
【问题描述】:
问题是这样的: 我在VS2005中写了一个windows应用程序,构建成功。然后我把它转移到VS2008,当我构建程序时,会有一个错误信息显示: 错误 C4867:“CGroupBox::CtlColor”:函数调用缺少参数列表;使用 '&CGroupBox::CtlColor' 创建指向成员的指针 消息映射如下:
BEGIN_MESSAGE_MAP(CGroupBox, CButton)
//{{AFX_MSG_MAP(CGroupBox)
ON_WM_PAINT()
ON_WM_CTLCOLOR_REFLECT()
//ON_WM_CTLCOLOR()
ON_WM_ERASEBKGND()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
功能如下:
HBRUSH CGroupBox::CtlColor(CDC* pDC, UINT nCtlColor)
{
GetParent()->Invalidate();
return NULL;
}
但如果我更改为 ON_WM_CTLCOLOR() ,我可以成功构建。
【问题讨论】:
-
一旦您创建了一个新的 MFC 控件类,您就可以为其定义消息处理程序。反射消息处理程序允许您的控件类在父级接收到消息之前处理自己的消息。
标签: mfc windows-ce