SetScrollPos

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

SetScrollPos功能将滚动条(拇指)的位置设置在指定的滚动条中,如果需要,重新绘制滚动条以反映滚动条的新位置。提供SetScrollPos功能以与Windows 3兼容。【x】.基于Win32的应用程序应使用SetScrollInfo功能。

int SetScrollPos(

HWND 【的hWnd】,//用滚动条来处理窗口
INT 【NBAR】,//滚动条标志
INT 【nPos】,//滚动框的新位置
BOOL 【bRedraw】//重绘旗帜
); 

参数

【的hWnd】

根据【NBAR】参数的值,标识滚动条控件或具有标准滚动条的窗口。

【NBAR】

指定要设置的滚动条。此参数可以是以下值之一:

含义
SB_CTL在滚动条控件中设置滚动框的位置。【的hWnd】参数必须是滚动条控件的句柄。
SB_HORZ在窗口的标准水平滚动条中设置滚动框的位置。
SB_VERT在窗口的标准垂直滚动条中设置滚动框的位置。

【nPos】

指定滚动框的新位置。该位置必须在滚动范围内。有关滚动范围的更多信息,请参阅SetScrollRange功能。

【bRedraw】

指定是否重新绘制滚动条以反映新的滚动框位置。如果此参数为TRUE,则重新绘制滚动条。如果为FALSE,则不重绘滚动条。

返回值

如果函数成功,则返回值是滚动框的上一个位置。

如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.

备注

如果随后调用另一个函数重新绘制滚动条,则将【bRedraw】参数设置为FALSE是有用的。

因为指示滚动条位置的消息WM_HSCROLL和WM_VSCROLL被限制为16位的位置数据,所以仅依赖这些位置数据的消息的应用程序对SetScrollPos函数的【nPos】参数的实际最大值为65,535。

但是,由于SetScrollPosSetScrollRangeGetScrollPosGetScrollRange功能支持32位滚动条位置数据,因此有一种方法来规避WM_HSCROLL和WM_VSCROLL消息的16位屏障。有关技术及其限制的描述,请参阅GetScrollPos.

也可以看看

GetScrollPos, GetScrollRange, ScrollDC, ScrollWindow, SetScrollRange