双缓冲绘图里有一步是要重载OnEraseBkgnd,直接返回true,但是在对话框程序里,如此操作的话,那对话框的背景就是透明的了,如何设置背景不透明?

解决方案 »

  1.   

    如何画,我用CPaintDC dc(this);
                CBrush BackBrush(RGB(0,0,0)), *OldBrush ;
       OldBrush = dc.SelectObject(&BackBrush) ;不行,
    用SetBkColor也不行
      

  2.   


    BOOL CAboutDlg::OnEraseBkgnd(CDC* pDC)
    { CBrush brush(0xFFF0DE);//窗体颜色  
    RECT   rect;   
    GetClientRect(&rect);   
    pDC->FillRect(&rect,&brush);  
    return   TRUE; 
    }