如何设置CEdit的背景色和字体颜色?谢了!
请给出例程

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/2979/2979336.xml?temp=.4619257
    http://expert.csdn.net/Expert/topic/3053/3053840.xml?temp=.2055628
      

  2.   

    用向导添加WM_CTLCOLOR消息处理函数。在里面添加
    if(pWnd->m_hWnd == GetDlgItem(IDC_EDIT1) ->m_hWnd)  //如果是指定的控件
    {
    HBRUSH hbr2 = ::CreateSolidBrush(RGB(count,count,count));//背景
    pDC ->SetTextColor(RGB(255,0,0));//字体颜色

    return hbr2;  
    }
      

  3.   

    背景色要响应WM_CTLCOLOR或WM_CTLCOLOR_REFLECT改变,不能直接采用SetBkColor()
      

  4.   

    实现OnCtlColor()函数在里面处理一下就可以了,上面的几个大哥已经说的很详细了:)
      

  5.   

    看看下面一段代码:
    private:
             HBRUSH m_hBrush;HBRUSH CCviewerDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    if(pWnd->GetDlgCtrlID()==IDC_EDITBOX)
    {
    if(m_bIsInvalidate)
    {

    pDC->SetBkColor(m_cbColor);
    return m_hBrush;

    }
    }
    return hbr;
    }