各位大侠,小弟想改变程序中某个对话框的背景色,只知道SetDialogBkColor可以改变所有对话框的背景色,但是不知道如何更改任意一个对话框的背景色,多谢指教!

解决方案 »

  1.   

    SetDialogBkColor(RGB(160,180,220),RGB(0,100,100));
      

  2.   

    在OnInitDlg中创建一个自定义的刷子   然后在OnCtrlColor中返回自己的刷子
      

  3.   

    你在哪个对话框的OnInitDlg里用的刷子    改的就是那个的背景色
      

  4.   

    SetDialogBkColor可以设置你需要的背景色。
      

  5.   

    响应WM_CTLCOLOR消息
    HBRUSH CTryDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

    if(nCtlColor == CTLCOLOR_DLG)
    pDC ->SetBkColor (RGB(255,128,128));
    return (HBRUSH)::CreateSolidBrush(RGB(255,128,128));

    }