SetScrollPos()函数

函数功能:该函数设置所指定滚动条中的滚动按钮的位置,如要求重画滚动条以反映出滚动按钮的新位置。该函数提供了向后兼容性,新的应用程序应使用SetScrolllnfo函数。

参数:

hWnd:滚动条控制或带有标准滚动条窗体的句柄,由nBar参数值确定。

nBar:指定滚动条将被设置。这个参数可以是下面值,含义如下:

SB_CTL:设置滚动条控制中滚动翻页盒的位置。而参数hwnd必须是滚动条控制的句柄。

SB_HORZ:设置窗体上标准水平滚动翻页盒的位置。

SB_VERT:设置窗体上标准垂直滚动翻页盒的位置。

nPos:指定滚动翻页盒的新位置。这个位置必须在滚动范围之内。若要了解更多有关滚动范围的信息,请参见SetScrollRange函数。

bRedraw:指定滚动条是否被重画以反映出新的滚动翻页盒的位置。如果这个参数为TRUE,则滚动条将被重画;为FALSE则滚动条不被重画。

返回值:如果函数运行成功,其返回值是滚动翻页盒的前一个位置。如果函数运行失败,其返回值是0。若想获得更多的错误信息,请调用GetLastError函数。

注意:如果由于其他并发函数调用,滚动条又被重画,那么设置参数bRedraw为负时非常有必要的。

因为说明滚动条位置的消息WM_HSCROLL和WM_VSCROLL只能为16位数据,那些只依赖于说明位置数据消息的应用程序在函数SetScrollPos的参数nPos中有一个实际最大值。

但是,因为函数SetScrolllnfo,SetScrollPos,SetScrollRange,GetScrollPos, 和 GetScrollRange都支持32位的滚动条位置数据,所以有一个解决16位WM_HSCROLL和WM_VSCROLL消息阻碍的途径,请参见函数GetScrolllnfo的有关技术说明。

速查:Windows NT 3.1、Windows 95、Windows CE 2.0以上,头文件:winuser.h;库文件:user32.lib。