我的程序将主窗口切分成了左右视图,我想给他们换上不同的背景图片,请问,可以实现吗,怎么做?

解决方案 »

  1.   

    在不同的View中显示各自的内容就可以了
      

  2.   

    BOOL CDataCommFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) 
    {
        ...
        m_pListView1 = (CListView1*)m_wndSplitter.GetPane(0, 0);
        m_pListView2 = (CListView2*)m_wndSplitter.GetPane(1, 0);

    return CFrameWnd::OnCreateClient(lpcs, pContext);
    }
      

  3.   

    在自己VIEW中的WM_PAINT消息里写上你的背景就成了
      

  4.   

    呵呵,在视图类里面的OnDraw绘图就可以了你可以用两个view类,然后在两个view类里面分别绘图,绘不同的图,呵呵
      

  5.   

    绘制背景最好的方法是响应WM_ERASEBKGND消息。画面不会抖动,不需要别的技术。样例如下:
    BOOL CViewRefurbishView::OnEraseBkgnd(CDC* pDC) 
    {
    HBITMAP hBmp = (HBITMAP)LoadImage(AfxGetInstanceHandle(),"C:\\background.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
    HDC hMemDC = CreateCompatibleDC(pDC->m_hDC);
    CBitmap bmp;
    bmp.Attach(hBmp);
    BITMAP bm;
    bmp.GetBitmap(&bm);
    SelectObject(hMemDC,hBmp);
    CRect rc;
    GetClientRect(rc);
    StretchBlt(pDC->m_hDC,0,0,rc.Width(),rc.Height(),hMemDC,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
    bmp.DeleteObject();
    return TRUE;
    }
      

  6.   

    在OnDraw里实现
    OnEraseBkgnd返回FALSE