设置控件的背景颜色。。出错了

来源:百度知道 编辑:UC知道 时间:2024/06/07 02:10:20
分别设置各控件的背景颜色,怎么会出错呢??错误提示为
error C2446: '==' : no conversion from 'const int' to 'int (__thiscall CWnd::*)(void) const'
There are no conversions from integral values to pointer-to-member values
以下为代码
HBRUSH CDerrDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO: Change any attributes of the DC here
if(pWnd->GetDlgCtrlID==IDC_RED)
{
pDC->SetBkMode(TRANSPARENT);//
return m_red;
}
if(pWnd->GetDlgCtrlID==IDC_GREEN)
{
pDC->SetBkMode(TRANSPARENT);//
return m_green;
}
if(pWnd->GetDlgCtrlID==IDC_BLUE)
{
pDC->SetBkMode(TRANSPARENT);//
return m_blue;
}

// TODO: Return a different brush if the default is not desired
return hbr;
}

GetDlgCtrlID是一个函数要加上()

这样:
if(pWnd->GetDlgCtrlID() == IDC_RED)

魔老大说的完全正确,把你的三个GetDlgCtrlID都加上(),变成GetDlgCtrlID()

是计算机的问题.
需要优化下就没事了。。放心吧

采纳我。 我告诉你具体方法