最佳答案:
SetScrollRange函数设置所指定滚动条范围的最小值和最大值。
详情介绍
SetScrollRange函数设置所指定滚动条范围的最小值和最大值。
- 中文名
- SetScrollRange
- 功能
- 指定滚动条范围的最小值和最大值
- 原型
- BOOL SetScrollRange
- 参数
- hWnd
SetScrollRange函数功能
SetScrollRange函数设置所指定滚动条范围的最小值和最大值。
注意 SetScrollRange函数提供向后的兼容性。新的应用程序应该使用SetScrollInfo函数
SetScrollRange函数原型
BOOL SetScrollRange(
HWND hWnd, // 窗口句柄
int nBar, // 滚动条类型
int nMinPos, // 滚动条的最小位置
int nMaxPos, // 滚动条的最大位置
BOOL bRedraw // 重绘标志
);
SetScrollRange参数
hWnd
滚动条控件或带有标准滚动条窗体的句柄,由nBar参数值确定。
nBar
指定滚动条将被设置。这个参数可以是下表值中的一个,含义如下:
值 | 说明 |
SB_CTL | 设置滚动条控件的范围。而参数hwnd必须是滚动条控件的句柄。 |
SB_HORZ | 设置窗体的标准水平滚动条的范围。 |
SB_VERT | 设置窗体的标准垂直滚动条的范围 |
nMinPos
指定滚动位置的最小值。
nMaxPos
指定滚动位置的最大值.。
bRedraw
指定滚动条是否被重画以反映变化。如果这个参数为TRUE,滚动条将被重画;如果为FALSE则不被重画。
SetScrollRange返回值
如果函数运行成功,返回值为非零;
如果函数运行失败,返回值为零。
若想获得更多的错误信息,请调用GetLastError函数。
SetScrollRange其他信息
可以将SetScrollRange中的nMinPos和nMaxPos参数设置为一样的值来使用,达到隐藏滚动条的目的。但在处理滚动条消息时,应用程序不应该调用函数SetScrollRange来隐藏滚动条。新的应用程序使用函数ShowScrollBar来隐藏滚动条。
如果调用函数SetScrollPos之后马上调用函数SetScrollRange,则SetScrollPos中的bRedraw参数一定要设置为零值(FALSE),以防止滚动条被画两次。
标准滚动条的缺省范围是0到100。滚动条控件的缺省值为NULL(参数nMinPos和nMaxPos的值均为零)。两个范围值之间的不同之处在于由参数nMinPos和nMaxPos指定的值不能超过MAXLONG的值。
因为说明滚动条位置的消息WM_HSCROLL和 WM_VSCROLL只能为16位数据,那些只依赖于说明位置数据消息的应用程序在函数SetScrollRange的参数nMaxPos中有一个实际最大值65,535 。但是,因为函数SetScrolllnfo,SetScrollPos, SetScrollRange,GetScrolllnfo,GetScrollPos,和GetScrollRange都支持32位的滚动条位置数据,所以有一个解决16位WM_HSCROLL和WM_VSCROLL消息阻碍的途径,请参见函数GetScrolllnfo的有关技术说明。
如果参数 nBar 设置为 SB_CTL 并且参数hWnd 所标识的不是一个标准的滚动条控件。系统将发送一个SBM_SETRANGE 消息到窗体用以设置滚动条消息。 这将允许函数SetScrollRange 操作一个定制的伪滚动条控件。如果窗体没有处理 SBM_SETRANGE消息,函数SetScrollRange将失败.
SetScrollRange速查
Windows NT 3.1、Windows CE 2.0以上,头文件:winuser.h;库文件:user32.lib。


