我做一个一个对话框的程序
但底色是系统默认的灰色
我现在想把它弄成像桌面一样,比如:蓝色,或者以一副位图为背景
因该怎么办啊?

解决方案 »

  1.   

    有很多方法简单点就是BOOL CXXXApp::InitInstance()
    {
    ...SetDialogBkColor(RGB(0,150,150));
    ...
    }
      

  2.   

    SetDialogBkColor(RGB(0,100,150),RGB(128,128,128));
      

  3.   

    重载OnEraseBkgnd,在这里面修改。
      

  4.   

    如果你想用1位图作为对话背景,提供下面方法:
    重载 OnPaint 函数,对话框的 OnPaint 默认有两个处理,在第二个中加入这些代码: 
    if (IsIconic()) 

    ... 
    ... 

    else 

    // 开始画背景 
    CPaintDC dc( this ); 
    CDC back; 
    CBitmap bmp; bmp.LoadBitmap( IDB_BITMAP1 ); // 建立背景图片 
    back.CreateCompatibleDC( &dc ); // 建立一个图形缓冲并载入背景图 
    back.SelectObject( &bmp ); dc.BitBlt( 0, 0, 100, 100, &back, 0, 0, SRCCOPY ); // 画在对话框中,可以把 100, 100 改成具体的对话框大小 bmp.DeleteObject(); 
    CDialog::OnPaint(); 

    这是一个朋友给我的答复,我得程序已经正确运行!