单文档视图工程,CMyView继承了CScrollView,然后在CMyDoc::OnOpenDocument中读入了位图,势必要修改滚动条的长度,但是在CMyDoc中如何通知View修改滚动条的长度呢?

解决方案 »

  1.   

    要用到好几个函数,可以看CScrollView的classMember
    思路:
    得到位图的大小,设置总页面的大小,设置每个页面的大小
      

  2.   

    每次读入位图,判断位图大小,用SetScrollSizes设置滚动条,修改滚动条大小可在CView::OnUpdate里进行,然后在CMyDoc读入位图后UpdateAllViews
      

  3.   

    To ipgk(loboho) 滚动条闪了一下就没了,怎么回事?
      

  4.   

    SetScrollSizes!滚动条闪了一下就没了,怎么回事?(是不是那儿又改回去了,看看你哪些地方调了SetScrollSizes)
    试试
    CSize sizeTotal(2048,1536);
    SetScrollSizes(MM_TEXT, sizeTotal);
    UpdateAllViews();
      

  5.   

    我在OnInitialUpdate和OnUpdate中都调用了。不过OnInitialUpdate里的Size没有修改,刚才跟踪了程序,在OnOpenDocument后先调用了OnUpdate,后又调用了OnInitialUpdate,所以滚动条闪了一下就没了。