请问如何修改单文档窗体的背景色?我指的是窗体的边框?

解决方案 »

  1.   

    BOOL CAaView::OnEraseBkgnd(CDC* pDC) {   CBrush Brush (RGB (128 , 0 , 128) );//你的颜色   CBrush* pOldBrush = pDC->SelectObject(&Brush);   CRect rcClip;   pDC->GetClipBox(&rcClip);   pDC-> PatBlt (rcClip.left , rcClip.top , rcClip.Width ( ) , rcClip.Height( ) , PATCOPY );   pDC->SelectObject (pOldBrush );   return TRUE;}
      

  2.   

    先在MainFrm里用class wizard添加WM_ERASEBKGND消息
    然后如上编写OnEraseBkgnd()
      

  3.   

    void CMainFrame::OnNcPaint() 
    {
    // TODO: Add your message handler code here
        CRect rc;
        GetWindowRect(&rc);
        CWindowDC dc(this);
        dc.FillSolidRect(rc, RGB(255,0,0));

    // Do not call CFrameWnd::OnNcPaint() for painting messages
    }
      

  4.   

    创建一个基于CWnd的新窗口类,我们称之为CMDIClient,
    在CMDIFrameWnd的继承类中增加一个CMDIClient成员
    #include "MDIClient.h"
    class CMainFrame:public CMDIFrameWnd
    {    protected:
        CMDIClient m_wndMDIClient;
    }
    重载CMDIFrameWnd:OnCreateClient()函数
    BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs,CCreateContext* pContext)
    {
       if(CMDIFrameWnd::OnCreateClient(lpcs,pContext))
    {
         m_wndMDIClinet.SubclassWindow(m_hWndMDIClient.GetSafeHwnd());
          return true;
    }
        else
         return false;
    }
    CMDIClient增加WM_ERASEBKGND 的消息处理函数以画上你想要的背景对于单文档一样
      

  5.   

    SetClassLong(pView->GetSafeHwnd(),GCL_HBRBACKGROUND,(HBRUSH)CBrush(RGB(x,x,x)))