它滚动条向上箭头紧接窗口顶部,向下箭头紧接窗口低部,整个滚动条从窗口顶部扩展到窗口低部。而我希望滚动条的位置不是这样,比如,我想把垂直滚动条从窗口顶部向下100个像素点处开始向下扩展到窗口低部,不知道有没有办法可以实现。
5 个解决方案
#1
这个需要设置ScrollBar的属性:
SCROLLINFO info;
info.cbSize = sizeof(SCROLLINFO);
info.fMask = SIF_ALL;
info.nMin = nMin;//滚动条的最小值,如0
info.nMax = nMax;//滚动条的最大值,如500
info.nPage = nPage;//滚动条是中间那个滑块的大小
info.nPos = nPos;//滚动条当前所处的位置
m_wndScrollBar.SetScrollInfo(&info);
#2
取消窗口本身的滚动条,另外创建一个滚动条控件;或者,内嵌一个带滚动条的子窗口,去掉边框看起来也一样。
#3
SetScrollPos()
#4
你第二个建议不适合我。
但是你第一个建议:取消窗口本身的滚动条,另外创建一个滚动条控件。
我没能看明白,取消窗口本身的滚动条后,我又如何设置新创建的滚动条在窗口上的位置呢?
比如垂直滚动条不扩展整个窗口高度,而使垂直滚条起始位置不是窗口的顶部,而是从窗口顶部往下100个像素点处开始呢!
#5
自己创建滚动条控件,想怎么放还不是随你了?MoveWindow即可。
#1
这个需要设置ScrollBar的属性:
SCROLLINFO info;
info.cbSize = sizeof(SCROLLINFO);
info.fMask = SIF_ALL;
info.nMin = nMin;//滚动条的最小值,如0
info.nMax = nMax;//滚动条的最大值,如500
info.nPage = nPage;//滚动条是中间那个滑块的大小
info.nPos = nPos;//滚动条当前所处的位置
m_wndScrollBar.SetScrollInfo(&info);
#2
取消窗口本身的滚动条,另外创建一个滚动条控件;或者,内嵌一个带滚动条的子窗口,去掉边框看起来也一样。
#3
SetScrollPos()
#4
你第二个建议不适合我。
但是你第一个建议:取消窗口本身的滚动条,另外创建一个滚动条控件。
我没能看明白,取消窗口本身的滚动条后,我又如何设置新创建的滚动条在窗口上的位置呢?
比如垂直滚动条不扩展整个窗口高度,而使垂直滚条起始位置不是窗口的顶部,而是从窗口顶部往下100个像素点处开始呢!
#5
自己创建滚动条控件,想怎么放还不是随你了?MoveWindow即可。