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。
但是,由于SetScrollPos,SetScrollRange,GetScrollPos和GetScrollRange功能支持32位滚动条位置数据,因此有一种方法来规避WM_HSCROLL和WM_VSCROLL消息的16位屏障。有关技术及其限制的描述,请参阅GetScrollPos.
也可以看看
GetScrollPos, GetScrollRange, ScrollDC, ScrollWindow, SetScrollRange