问题是这样的:我在VS2005中写了一个windows应用程序,构建成功。然后我把它转移到VS2008,当我编译程序时,会有错误信息显示:error C4867: 'CGroupBox::CtlColor': function call missing argument list; 使用 '&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() ,我可以成功构建。