描述
SetScrollPos功能将滚动条(拇指)的位置设置在指定的滚动条中,如果需要,重新绘制滚动条,以反映滚动条的新位置。
Note SetScrollPos功能用于向后兼容。
C/C++ 语法
int SetScrollPos( HWND hwnd, int nBar, int nPos, BOOL bRedraw ); |
PB语法
FUNCTION SetScrollPos ( _ BYVAL hwnd AS DWORD, _ BYVAL nBar AS LONG, _ BYVAL nPos AS LONG, _ BYVAL bRedraw AS LONG _ ) AS LONG |
参数
hwnd |
[in]根据nBar参数的值,处理滚动条控件或带有标准滚动条的窗口。 |
nBar |
[in]指定要设置的滚动条。
SB_CTL 在滚动条控件中设置滚动框的位置。 SB_HORZ 在窗口的标准水平滚动条中设置滚动框的位置。 SB_VERT 在窗口的标准垂直滚动条中设置滚动框的位置。 |
nPos |
[in]指定滚动框的新位置。 |
bRedraw |
[in]指定是否重新绘制滚动条以反映新的滚动框位置。 |
返回值
如果函数成功,则返回值是滚动框的上一个位置。
Windows XP:如果桌面是主题,父窗口是仅消息窗口,则该函数返回不正确的值。
如果函数失败,返回值为零。
备注
如果随后调用另一个函数重新绘制滚动条,则将bRedraw参数设置为FALSE是有用的。
因为指示滚动条位置的消息WM_HSCROLL和WM_VSCROLL被限制为16位的位置数据,所以仅依赖这些位置数据的消息的应用程序的SetScrollPos函数的nPos的实际最大值为65,535
但是,由于SetScrollInfo,SetScrollPos,SetScrollRange,GetScrollInfo,GetScrollPos和GetScrollRange功能支持32位滚动条位置数据,因此有一种方法来规避16位屏障
如果nBar参数是SB_CTL,并且由hWnd参数指定的窗口不是系统滚动条控件,系统将向窗口发送SBM_SETPOS消息以设置滚动条信息。
最低操作系统
Windows 95,Windows NT 3.51。
引用文件 #INCLUDE Once
WinUser.inc