0.滚动条的工作需要window系统和我们代码的共同维护。
window负责
-处理滚动条中的所有鼠标消息,例如wParam的低16位表明鼠标对滚动条的动作,高16位表示鼠标的位置
-当用户单击滚动条时,提供一种反向显示的闪烁
-当用户拖动滑块时,在滚动条内移动滑块
-向拥有滚动条的窗口的窗口过程发送滚动条消息,例如WM_VSCROLL WM_HSCROLL
我们代码负责
-初始化滚动条的范围和位置
-处理传给窗口过程的滚动条消息,例如WM_VSCROLL WM_HSCROLL
-更新滑块的位置(否则滑块会回到初始位置)
-根据滚动条的变化更新客户区的内容
1.滚动条的范围是指:滚动条能够滚动多少行(以行的方式滚),并不是窗口的高度或者宽度
2.滚动条的相关的函数
a.设置滚动条的范围 SetScrollRange() [ 将 SetScrollRange 函数中的 nMinPos 和 nMaxPos 参数设置为一样的值,可以达到隐藏滚动条的效果]
b.获取滚动条的范围 GetScrollRange()
c.设置滚动条的位置 SetScrollPos()
d.获取滚动条的位置 GetScrollPos()
参数如果为SB_HORZ,表示设置水平滚动条,如果为SB_VERT,表示设置垂直滚动条;另一参数如果为TURE,表示重绘,如果为FALSE,表示不重绘