如图一  原始图片  拖动滚动条以后  就会出现混乱的状况
如图二
图是利用GDI+ 自己绘出来的    请问这种状况如何解决?

解决方案 »

  1.   

    要不,OnUpdate重载了没?像这样
    void   CaaaView::OnUpdate(CView*   pSender,   LPARAM   lHint,   CObject*   pHint)     
      {   
      //   TODO:   Add   your   specialized   code   here   and/or   call   the   base   class   
      //   TODO:   Add   your   specialized   code   here   and/or   call   the   base   class   
      CScrollView::OnUpdate(pSender,lHint,pHint);   
      CSize   sizeTotal;   
        
      sizeTotal.cx   =100   
      sizeTotal.cy   =200   
      SetScrollSizes(MM_TEXT,   sizeTotal);   
      }   
      

  2.   

    等等,你这个是派生于CScrollView的吧,我记得在OnPaint里面还要进行下坐标转换的void CYourView::OnPaint()

    CPaintDC dc(this);CRect rect; 
    GetClientRect(rect); 
    DocToClient(rect);
    ...
    }
    void CYourView::DocToClient(CRect& rect)

    CClientDC dc(this);
    OnPrepareDC(&dc, NULL);
    dc.LPtoDP(rect);
    rect.NormalizeRect();
    rect.bottom += 1980;
    //rect.top -= 198;
    }
      

  3.   

    rect.bottom += 1980;是为了避免出现黑色无效区域而增加的一个值