setScrollInfo 函数 (winuser.h)
SetScrollInfo 函数设置滚动条的参数,包括最小和最大滚动位置、页面大小以及滚动框 (拇指) 的位置。 如果请求,函数还会重绘滚动条。
语法
int SetScrollInfo(
[in] HWND hwnd,
[in] int nBar,
[in] LPCSCROLLINFO lpsi,
[in] BOOL redraw
);
参数
[in] hwnd
类型: HWND
滚动条控件或具有标准滚动条的窗口的句柄,具体取决于 fnBar 参数的值。
[in] nBar
类型: int
指定要为其设置参数的滚动条的类型。 此参数的取值可为下列值之一:
值 | 含义 |
---|---|
|
设置滚动条控件的参数。 hwnd 参数必须是滚动条控件的句柄。 |
|
设置窗口的标准水平滚动条的参数。 |
|
设置窗口的标准垂直滚动条的参数。 |
[in] lpsi
类型: LPCSCROLLINFO
指向 SCROLLINFO 结构的指针。 在调用 SetScrollInfo 之前,请将结构的 cbSize 成员设置为 sizeof (SCROLLINFO) ,将 fMask 成员设置为指示要设置的参数,并在相应成员中指定新的参数值。
fMask 成员可以是以下一个或多个值。
Value | 含义 |
---|---|
|
如果滚动条的新参数使滚动条变得不必要,则禁用滚动条,而不是将其删除。 |
|
将滚动页设置为 lpsi 指向的 SCROLLINFO 结构的 nPage 成员中指定的值。 |
|
将滚动位置设置为 lpsi 指向的 SCROLLINFO 结构的 nPos 成员中指定的值。 |
|
将滚动范围设置为 lpsi 指向的 SCROLLINFO 结构的 nMin 和 nMax 成员中指定的值。 |
[in] redraw
类型: BOOL
指定是否重绘滚动条以反映对滚动条所做的更改。 如果此参数为 TRUE,则重新绘制滚动条,否则不会重绘滚动条。
返回值
类型: int
返回值是滚动框的当前位置。
注解
SetScrollInfo 函数对 SCROLLINFO 结构的 nPage 和 nPos 成员指定的值执行范围检查。 nPage 成员必须指定介于 0 到 nMax - nMin +1 的值。 nPos 成员必须指定 nMin 和 nMax - max max ( nPage – 1, 0) 之间的值。 如果任一值超出其范围,则函数将其设置为恰好在范围内的值。
如果 fnBar 参数SB_CTL并且 hwnd 参数指定的窗口不是系统滚动条控件,则系统会将SBM_SETSCROLLINFO消息发送到窗口,以设置滚动条信息 (如果请求仅针对位置或范围) ,则系统可将消息优化为SBM_SETPOS或SBM_SETRANGE。 这允许 SetScrollInfo 对模拟滚动条的自定义控件进行操作。 如果窗口未处理 SBM_SETSCROLLINFO (或优化 SBM_SETPOS 消息或 SBM_SETRANGE 消息) ,则 SetScrollInfo 函数将失败。
有关示例,请参阅 使用WM_PAINT消息滚动文本。
要求
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | winuser.h (包括 Windows.h) |
Library | User32.lib |
DLL | User32.dll |
API 集 | 在 Windows 8.1) 中引入的 ext-ms-win-ntuser-misc-l1-2-0 ( |
另请参阅
引用