我用处理WM_CRLCOLOR的方法修改控件的背景颜色等属性,代码如下。
奇怪的是,编译运行之后我的IDC_EDIT16和IDC_EDIT17的背景色也同样变成了对话框中所有Combox Box的背景色。
多次重新Rebuild后均如此
而我删除IDC_EDIT16和IDC_EDIT17后,重新添加两个Edit控件,结果编译运行后又正常了。囧达人们知道是什么原因吗?HBRUSH CCurrentTestView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
HBRUSH hbr = CFormView::OnCtlColor(pDC, pWnd, nCtlColor);
    if((pWnd->GetDlgCtrlID()==IDC_EDIT3)||(pWnd->GetDlgCtrlID()==IDC_EDIT4))
{
pDC->SetBkColor(RGB(177,242,242));
    HBRUSH m_hbr=::CreateSolidBrush(RGB(177,242,242));
    return m_hbr;
}
    if((pWnd->GetDlgCtrlID()==IDC_EDIT16)||(pWnd->GetDlgCtrlID()==IDC_EDIT17))
{
pDC->SetBkColor(RGB(143,142,142));
pDC->SetTextColor(RGB(108,251,132));
HBRUSH w_hbr=::CreateSolidBrush(RGB(143,142,142));
    return w_hbr;
}
pDC->SetBkMode(TRANSPARENT);
return hbr; 
}

解决方案 »

  1.   

    在之前我检查了EDIT16/EDIT17和正常的EDIT3/EDIT4的属性,设置是一样的
      

  2.   

    ID对应的值重复了,你到resource.h中把相应的值改成不相同就行了
      

  3.   

    出现这种问题时 你可以试着在Bulid里选择Clean在选择rebulid all试试
      

  4.   

    按照你的下述介绍来看:
    "而我删除IDC_EDIT16和IDC_EDIT17后,重新添加两个Edit控件,结果编译运行后又正常了。"
    你的问题在于控件ID的值(整数)有重复,所以删除后重新添加会一切正常!