请高手指点一下。谢谢了先

解决方案 »

  1.   

    处理消息WM_CTLCOLOR,就可以了。
      

  2.   

    参考如下代码:
    OnCtlColor(...)是Windows事件
    HBRUSH CMFCTest1Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
    {
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    if (pWnd->GetDlgCtrlID() == IDC_CHECK1)
    {
    pDC->SetTextColor(RGB(255, 0, 0));
    pDC->SetBkColor(RGB(0,255,0));
    }
    return hbr;
    }
      

  3.   

    这位大侠,我的CHECK BOX是动态生成的。
      

  4.   

    在CButton的派生类中处理WM_CTLCOLOR消息,用这个类来生成你的check box。
      

  5.   

    webber84,can you describe it in detail? i've modified my program in your way,but it seems unsuccessful.Thank you!!
      

  6.   

    应该是WM_CTLCOLORBTN或者WM_CTLCOLOR,记不太清了,按钮要有owner-draw风格(BS_OWNERDRAW)
      

  7.   

    那你可以从CButton类派生一个你需要的类。 通过对WM_CTLCOLOR的消息反射方法来对Check box的背景色改变。