我想改变界面中的一个CEdit的背景颜色
我用了WM_CTLCOLOR消息 
添加代码:   pDC->SetBkColor( RGB(255, 0, 0) ); 结果好多控件的背景色都变了,请问这改变IDC_EDIT1这一个编辑框的背景色该怎么写啊,谢谢

解决方案 »

  1.   

    www.iuishop.com的"文档"中有解决方法(题目是为Edit控件设置背景图片)与设置背景色的方法是一样的。
      

  2.   

    你要判断是不是你这个EDIT发的WM_CTLCOLOR消息。
      

  3.   

    ......
    m_hBrush = CreateSolidBrush(RGB(255, 0, 0));
    ......
    HBRUSH CXXXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
    {
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    if (CTLCOLOR_EDIT == nCtlColor && pWnd->GetDlgCtrlID() == IDC_EDIT1)
             {
                pDC->SetBkColor( RGB(255, 0, 0) ); 
                //最好再返回一个自己创建的刷子
                return m_hBrush;
             }
    return hbr;
    }
      

  4.   

    请问m_hBrush = CreateSolidBrush(RGB(255, 0, 0));加到什么地方?我想把设为不可用的CEdit的背景色改成白色,好像不行,该怎么写呢,谢谢
      

  5.   

    www.iuishop.com的"文档"中有解决方法(题目是为Edit控件设置背景图片)与设置背景色的方法是一样的。
    试试吧。很详细。