### 函数功能

该函数设置滚动条参数，包括滚动位置的最大值和最小值，页面大小，滚动按钮的位置。如被请求，函数也可以重画滚动条。

### 函数原型

int SetScrohnfo（HWND hWnd；int fnBar，LPSCROLLINFO lpsi，BOOL fRedraw）；

### 参数

hWnd：滚动条控制或带标准滚动条的窗体句柄，由fnBar参数决定。
fnBar：指定被设定参数的滚动条的类型。这个参数可以是下面值，含义如下：
SB_CTL：设置滚动条控制。而参数hwnd必须是滚动条控制的句柄。
SB_HORZ：设置所给定的窗体上标准水平滚动条参数。
SB_VERT：设置所给定的窗体上标准垂直滚动条参数。
IPBI：指向SCROLLINFO结构。在调用SetScrognfo之前，设置SCROLLINFO结构中cbSize成员以标识结构大小，设置成员fMask以说明待设置的滚动条参数，并且在适当的成员中制定新的参数值。成员fMask可以为下面所列复合值，含义如下：
SIF_DfSABLENOSCROLL：如果滚动条的新参数使其为没必要，则使滚动条无效而不再移动它。
SIF_PAGE：设置滚动页码值到由Ipsi指向的SCROLLINFO结构的nPage成员中。
SIF_POS：设置滚动位置值到由lpsi指向的SCROLLINFO结构的nPos成员中。
SIF_RANGE：设置滚动范围值到由lpsl指向的SCROLLINFO结构的nMin和nMax成员中。
fRedraw：指定滚动条是否重画以反映滚动条的变化。如果这个参数为TRUE，滚动条将被重画，否则不被重画。

### 返回值

返回值是滚动盒的当前位置。
注意：SetScrolllnfo函数执行任务是检查SCROLLINFO结构中由成员nPage和nPos值的范围。成员uPage值必须从0到nMax- nMin＋1，成员nPos必须是在nMin和nMax-nMax-max（nPage C1，0）之间的指定值。如果任何一个值超过了这个范围，函数将在指定范围内为它设置一个值。
在Windows CE 2.0中，如果在参数lpsi中指定一个NULL指针，Setscrohnfo则返回0，而不返回滚动盒的当前位置。

### 速查

Windows NT 3.51、Windows 95、Windows CE 1.0以上，头文件：wnuser.h；库文件：user32.lib。