GetScrollPos功能在指定的滚动条中检索滚动框(thumb)的当前位置。当前位置是一个取决于当前滚动范围的相对值。例如,如果滚动范围为0到100,滚动条位于条的中间,则当前位置为50。
int GetScrollPos(
HWND 【的hWnd】, | //用滚动条来处理窗口 |
INT 【NBAR】 | //滚动条标志 |
); |
参数
【的hWnd】
根据【NBAR】参数的值,标识滚动条控件或带有标准滚动条的窗口。
【NBAR】
指定要检查的滚动条。此参数可以是以下值之一:
值 | 含义 |
SB_CTL | 在滚动条控件中检索滚动框的位置。【的hWnd】参数必须是滚动条控件的句柄。 |
SB_HORZ | 在窗口的标准水平滚动条中检索滚动框的位置。 |
SB_VERT | 在窗口的标准垂直滚动条中检索滚动框的位置。 |
返回值
如果函数成功,则返回值是滚动框/
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
GetScrollPos功能使应用程序能够使用32位滚动位置。虽然指示滚动条位置的消息WM_HSCROLL和WM_VSCROLL被限制为16位的位置数据,但功能SetScrollPos SetScrollRange,GetScrollPos和GetScrollRange支持32位滚动条位置数据。因此,应用程序可以在处理WM_HSCROLL或WM_VSCROLL消息时调用GetScrollPos来获取32位滚动条位置数据。
对这种技术的限制适用于窗口内容的实时滚动。应用程序通过处理携带SB_THUMBTRACK通知消息的WM_HSCROLL或WM_VSCROLL消息实现这种滚动,从而在用户移动滚动框的同时也称为拇指的位置进行跟踪。不幸的是,在用户移动时,没有任何功能来检索拇指的32位位置。GetScrollPos仅提供静态位置数据;因此,应用程序只能在滚动发生之前或之后获取32位位置数据。
也可以看看
GetScrollRange, ScrollDC, ScrollWindow, SetScrollPos, SetScrollRange, WM_HSCROLL, WM_VSCROLL