发信人: mendy.bbs@bbs.nju.edu.cn (孟迪), 信区: cnprogram
标  题: VC FAQ(9)
发信站: nju_bbs (Sun Apr 19 13:51:02 1998)
转信站: Lilac!ustcnews!nju_bbs

2m发信人:m TMN (派生类)
2m信  区:m RAD
2m标  题:m VC FAQ(9)
2m发信站:m '3m紫金飞鸿m' (Wed Apr  8 08:16:20 1998) , 5m站内信件m

[返回首页] [分类讨论区] [全部讨论区]

--------------------------------------------------   
   How change the background color of a view? 
-------------------------------------------------- 

To change the background color for a CView, CFrameWnd, or CWnd object, 
process  
the WM_ERASEBKGND message. The following code shows how:  


BOOL CSampleView::OnEraseBkgnd(CDC* pDC) 



        // Set brush to desired background color 

        CBrush backBrush(RGB(255, 128, 128)); 

        // Save old brush 

        CBrush* pOldBrush = pDC->SelectObject(&backBrush); 

        CRect rect; 

        pDC->GetClipBox(&rect);     // Erase the area needed 

        pDC->PatBlt(rect.left, rect.top, rect.Width(),  

        rect.Height(), PATCOPY); 

        pDC->SelectObject(pOldBrush); 

        return TRUE; 



I solved the problem like this-> 

HBRUSH dlgtest::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)  


        switch (nCtlColor) 

        { 

                case CTLCOLOR_BTN: 

                case CTLCOLOR_STATIC: 

                { 

                        pDC->SetBkMode(TRANSPARENT); 

                } 

                case CTLCOLOR_DLG: 

                { 

                        CBrush*         back_brush; 

                        COLORREF        color; 

                        color = (COLORREF) GetSysColor(COLOR_BTNFACE); 

                        back_brush = new CBrush(color); 

                        return (HBRUSH) (back_brush->m_hObject); 

                } 

        } 

        return(CFormView::OnCtlColor(pDC, pWnd, nCtlColor)); 



Tim, tfiner@vrli.com, email, 9/10/95 

  

                         [返回首页] [分类讨论区] [全部讨论区]

--
m;31m※ 来源:·紫金飞鸿 bbs.njupt.edu.cn·[FROM: pc05.info.njupt]m

--
※ 来源:.南大小百合信息交换站 bbs.nju.edu.cn.[FROM: a507yjh.nju.edu]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.480毫秒