我想使对话框的颜色变成对话框的颜色,要如何做到?

解决方案 »

  1.   

    SetDialogBkColor();
    它接受两个颜色参数值,第一个是对话框背景色,第二个是文字颜色在App类的InitInstance中调它
      

  2.   

    这个好像不能改变编辑框的背景颜色。
    不过,说实在的,编辑框的背景颜色是挺难改变的!
    好像WM_CTLCOLOR也处理不了。你可以考虑使用这个函数,测试一下。
    如果不行,那么考虑一下从CEdit派生一个类,处理WM_ERASEBKGND消息,在其中设置背景颜色,看看能否工作。
      

  3.   

    参考一下:
    http://www.codeproject.com/editctrl/coloredit.asp
      

  4.   

    OnCtlColor这个函数
    设为红色
    HBRUSH CGirlDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

    if (nCtlColor == CTLCOLOR_EDIT)
    pDC->SetBkColor(RGB(255,0,0));

    return hbr;
    }