GetScrollInfo函数检索滚动条的参数,包括最小和最大滚动位置,页面大小和滚动框(拇指)的位置。
BOOL GetScrollInfo(
HWND【HWND】, | //用滚动条来处理窗口 |
INT【fnBar】, | //滚动条标志 |
LPSCROLLINFO【lpsi】 | //指向滚动参数结构的指针 |
); |
参数
【HWND】
根据【fnBar】参数的值标识滚动条控件或带有标准滚动条的窗口。
【fnBar】
指定要检索参数的滚动条的类型。此参数可以是以下值之一:
值 | 含义 |
SB_CTL | 检索滚动条控件的参数。【HWND】参数必须是滚动条控件的句柄。 |
SB_HORZ | 检索给定窗口的标准水平滚动条的参数。 |
SB_VERT | 检索给定窗口的标准垂直滚动条的参数。 |
【lpsi】
指向SCROLLINFO结构的fMask成员,在进入该函数时,指定要检索的滚动条参数。返回前,函数将指定的参数复制到结构的相应成员。
fMask成员可以是以下值的组合:
值 | 含义 |
SIF_PAGE | 将滚动页面复制到由【lpsi】指向的SCROLLINFO结构的nPage成员。 |
SIF_POS | 将滚动位置复制到由【lpsi】指向的SCROLLINFO结构的nPos成员。 |
SIF_RANGE | 将滚动范围复制到由【lpsi】指向的SCROLLINFO结构的【】 【】和nMax成员。 |
返回值
如果函数检索到任何值,则返回值不为零。
如果函数没有检索任何值,返回值为零。
备注
GetScrollInfo功能使应用程序能够使用32位滚动位置。虽然指示滚动条位置的消息WM_HSCROLL和WM_VSCROLL仅提供16位位置数据,但功能SetScrollInfo 和GetScrollInfo提供32位滚动条位置数据。因此,应用程序可以在处理WM_HSCROLL或WM_VSCROLL消息时调用GetScrollInfo以获取32位滚动条位置数据。
该技术的限制适用于窗口内容的实时滚动。应用程序通过处理携带SB_THUMBTRACK通知值的WM_HSCROLL或WM_VSCROLL消息实现实时滚动,从而跟踪用户移动滚动框(拇指)的位置。不幸的是,当用户移动滚动框时,无法检索32位位置滚动框的位置。因为GetScrollInfo仅提供静态位置,应用程序只能在滚动操作之前或之后获取32位位置数据。
也可以看看