OnHScroll( UINT nSBCode, UINT nPos, CScrollBar* pScrollBar )和OnVScroll( UINT nSBCode, UINT nPos, CScrollBar* pScrollBar )这两个函数,网上很多人写的博客或是例子,都没有很好地说明这三个参数,下面我就实际开发中的经验做一下解释:
UINT nSBCode:指定指示用户滚动请求的滚动条代码
SB_LEFT 滚动到最左侧。
SB_ENDSCROLL 结束滚动。
SB_LINELEFT 滚动。
SB_LINERIGHT 滚动权限。
SB_PAGELEFT 滚动一页。
SB_PAGERIGHT 滚动一页权限。
SB_RIGHT 滚动到最右边。
为绝对位置的 SB_THUMBPOSITION 滚动。 当前位置由 nPos 参数指定。
SB_THUMBTRACK 拖动到指定位置的滚动框。 当前位置由 nPos 参数指定。
UINT nPos:如果滚动条代码是 SB_THUMBPOSITION 或 SB_THUMBTRACK,指定滚动框位置;否则,未使用。 基于初始滚动大小,nPos 可以为负的,因此如果需要,转换到 int。
这个参数最让人迷惑,并且官方MSDN以及网上都没有说的的很清楚。
其实,就是在可视区范围内左上角的