在CViwScroll中可以控制滚动条。
OnScroll控制对滚动条的鼠标事件
OnScrollBy控制重画。
当使用OnMouseWheel时,自动调用CView::OnScrollBy实现重画.
怎样控制在移动滚动条的时候,或MouseWheel时,使CView->ClientRect不变,而使滚动条移动.即:
能使CView->clientRect在固定的区域,屏蔽重化客户区域?解决次方法还可以加CScrollBar,怎样能实现CViewScroll的机制,动态的更改CScrollBar的显示,有没有资料??先谢谢拉!

解决方案 »

  1.   

    直接调用 SetScrollInfo/SetScrollPos API 函数即可。
      

  2.   

    void CMyView::OnInitialUpdate() 
    {
       CView::OnInitialUpdate();   // Set SCROLLINFO for the scroll bar. m_ScrollBar is of type 
       // CScrollBar class, and it is a member variable in CMyView class.
       SCROLLINFO info;
       info.cbSize = sizeof(SCROLLINFO);     
       info.fMask = SIF_ALL;     
       info.nMin = 0;     
       info.nMax = 10; 
       info.nPage = 2;     
       info.nPos = 5;    
       info.nTrackPos = 2; 
       m_ScrollBar.SetScrollInfo(&info);
    }