在initinstance中
CWinApp::SetDialogBkColor 
void SetDialogBkColor( COLORREF clrCtlBk = RGB(192, 192, 192), COLORREF clrCtlText = RGB(0, 0, 0) );

解决方案 »

  1.   

    如果只是改变对话框颜色的话,用CLASS WIZARD响应CTLCOLOR消息,在ONCTLCOLOR消息中返回颜色句柄:如
    OnCtlColor()
    {
    return (HBRUSH)GetStockObject(BLACK_BRUSH);
    }产生的对话框就成黑色或者是在类中声明CBRUSH b;
    在OnInitalDialog()中设置
    {

    b.CreateStockBrush(RGB(255.00.0);
    }OnCtlColor()
    {
    return (HBRUSH)b;
    }产生的对话框就成红色
    如果要用位图填充背景的话,就要手工添加响应 OnEraseBkgnd()消息