void CMainFrame::OnPaint() 
{

CPaintDC dc(this); // device context for painting
CBitmap bitmap;
CDC dcMemory;
bitmap.LoadBitmap(IDB_NAN_SCREEN);
dcMemory.CreateCompatibleDC(&dc);
dcMemory.SelectObject(&bitmap);
dc.BitBlt(0,0,730,641,&dcMemory,0,0,SRCCOPY);
// Do not call CMDIFrameWnd::OnPaint() for painting messages
}
只能看到图像一闪而过,然后又是其默认的灰黑色背景了.我是想让我的图片低替那个灰黑色背景.

解决方案 »

  1.   

    被别的view覆盖了把。
    把这段代码放到view看看
      

  2.   

    OnDraw函数获得DC后直接LOAD和DRAW就OK了 。
      

  3.   

    MDI客户区有自己的窗口:m_wndMDIClient
    可以看看MSDN上的文章:HOWTO: SubClass the MDIClient by Using MFC
      

  4.   

    CBitmap bitmap;
    CDC dcMemory;
    bitmap.LoadBitmap(IDB_NAN_SCREEN);
    dcMemory.CreateCompatibleDC(&dc);
    dcMemory.SelectObject(&bitmap);
    dc.BitBlt(0,0,730,641,&dcMemory,0,0,SRCCOPY);
             
    把这段代码拷到当前的view类中就能显示,如不能显示修改dc.BitBlt函数的参数。
      

  5.   

    先是图片的代码,应该再View类中哟!
      

  6.   

    谢谢各位,我这个要求不是在VIEW中显示呀,就是在没建VIEW时显示图像.建了VIEW时要被另个的图像盖掉.
      

  7.   

    CMainFrame 中可以显示图形吗?
      

  8.   

    BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)在这函数里画怎么样?
      

  9.   

    CMainFrame中当然可以显示图像.其他的答案都试过了,都不行,只有mackz的是正确的.MSDN上说的很清楚.要先加个CMDIClientWnd,继承CWND,然后一一改动.各位要看可以看MSDN,这里不好一一说明.