一个对话框,三个 EDIT 编辑框控件,我想让这三个EDIT 控件的背景色显示不同颜色。如何实现?
在线等。给代码的多加分。

解决方案 »

  1.   

    OnCtlColor 不是只对 所有的 EDIT有效吗?怎样将三个EDIT分别画上不同颜色?
      

  2.   

    WM_CTLCOLOR里根据control ID,绘制不同的颜色
      

  3.   

    在OnCtlColor中对不同的空间进行操作即可
      

  4.   

    给点代码你参考一下,希望对你有帮助
    HBRUSH CPicture::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
    {
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
             if(pWnd->GetDlgCtrlID()==IDC_EDIT1)           //修改控件ID为:IDC_EDIT1的背景色
    {
    pDC->SetBkColor(RGB(0,255,0));
    }
              if(pWnd->GetDlgCtrlID()==IDC_EDIT2)          //修改控件ID为:IDC_EDIT2的背景色
    {
    pDC->SetBkColor(RGB(255,255,0));
    }
               if(pWnd->GetDlgCtrlID()==IDC_EDIT3)         //修改控件ID为:IDC_EDIT3的背景色
    {
    pDC->SetBkColor(RGB(0,255,255));
    }

    return hbr;