1——
在继承自CWND对象上添加了SCROLLBAR,想在内容可以放下不需要使用SCROLLBAR时,让SCROLLBAR依然存在,只是简单的把TRACKBAR隐藏,禁止SCROLLBAR的功能。2——
SCROLLBAR中的TRACKBAR如何可以内容的多少设置其大小?比如内容有两屏时,其长度为SCROLLBAR长度的50%?

解决方案 »

  1.   

    不要这样吧!用CScrollView就搞定了。如果要在对话框中的话,你比较麻烦了。
    SetScrollPage();
    SetScrollRange();
    SetScrollPos();
    etc.
    看看MSDN就行了。
      

  2.   

    不行,我一定要在CWnd中使用ScrollBar,希望能设置TrackBar的动态大小。
      

  3.   

    以下代码实现设置TrackBar的动态大小
    SCROLLINFO info;
    info.cbSize = sizeof(SCROLLINFO);     
    info.fMask = SIF_ALL;     
    info.nMin = 0;     
    info.nMax = 2; 
    info.nPage = 1;//设置这个     
    info.nPos = 5;     
    m_scrollbar.SetScrollInfo(&info)
      

  4.   

    谢谢楼上的,TrackBar的大小是有所改变,但:1——
    当我的内容在一屏以内时,SCROLLBAR不见了,而我是希望仍然显示,只是DISABLE2——
    当我的内容超过一屏时,其大小是可以改变,却:不能客观的反应当前有几个PAGE,比如我的内容在1~2PAGE之间,设置Page为2,TrackBar却是不是一半的大小(大概是1/4大小),件一也不行。
      

  5.   

    EnableScrollBar
    SetScrollInfo
    参数具体怎么设,看MSDN吧
      

  6.   

    SCROLLINFO info; 
    info.cbSize = sizeof(SCROLLINFO);     
    info.fMask = SIF_ALL;//设置所有的特征     
    info.nMin = 0;     //起始
    info.nMax = 2;    //结束
    info.nPage = 1;        //设置是否根据步数改变滚动块的大小     
    info.nPos = 5;     //设置位置m_scrollbar.SetScrollInfo(&info)