GetScrollInfo

【勇芳软件工作室】汉化HomePreviousNext

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_HSCROLLWM_VSCROLL仅提供16位位置数据,但功能SetScrollInfo GetScrollInfo提供32位滚动条位置数据。因此,应用程序可以在处理WM_HSCROLL或WM_VSCROLL消息时调用GetScrollInfo以获取32位滚动条位置数据。

该技术的限制适用于窗口内容的实时滚动。应用程序通过处理携带SB_THUMBTRACK通知值的WM_HSCROLL或WM_VSCROLL消息实现实时滚动,从而跟踪用户移动滚动框(拇指)的位置。不幸的是,当用户移动滚动框时,无法检索32位位置滚动框的位置。因为GetScrollInfo仅提供静态位置,应用程序只能在滚动操作之前或之后获取32位位置数据。

也可以看看

SCROLLINFO, SetScrollInfo,WM_HSCROLL, WM_VSCROLL