滚动条函数:
1>SetScrollRange:函数设置所指定滚动条范围的最小值和最大值。
注意 SetScrollRange函数提供向后的兼容性。新的应用程序应该使用SetScrollInfo函数
原形:BOOL SetScrollRange(
HWND hWnd,    // 窗口句柄
int nBar,     // 滚动条类型
int nMinPos,  // 滚动条的最小位置
int nMaxPos,  // 滚动条的最大位置
BOOL bRedraw  // 重绘标志
参数:
hWnd
[输入] 滚动条控件或带有标准滚动条窗体的句柄,由nBar参数值确定。
nBar
[输入] 指定滚动条将被设置。这个参数可以是下表值中的一个,含义如下:
说明
SB_CTL
设置滚动条控件的范围。而参数hwnd必须是滚动条控件的句柄。
SB_HORZ
设置窗体的标准水平滚动条的范围。  
SB_VERT
设置窗体的标准垂直滚动条的范围
nMinPos
[输入] 指定滚动位置的最小值。
nMaxPos
[输入] 指定滚动位置的最大值.。
bRedraw
[输入] 指定滚动条是否被重画以反映变化。如果这个参数为TRUE,滚动条将被重画;如果为FALSE则不被重画。
返回值:
如果函数运行成功,返回值为非零;
如果函数运行失败,返回值为零。
若想获得更多的错误信息,请调用GetLastError函数。

 

2>setscrollpos

该函数设置所指定滚动条中的滚动按钮的位置,如果需要,可重绘滚动条以反映出滚动按钮的新位置。该函数提供了向后兼容性,新的应用程序应使用SetScrolllnfo函数。
原形:
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则不被重画。
返回值:
如果函数运行成功,其返回值是滚动按钮的前一个位置。
如果函数运行失败,其返回值是0。
若想获得更多的错误信息,请调用GetLastError函数。
Windows XP: 如果the desktop is themed 并且父窗口是一个 message-only window ,则函数返回一个不真实的值。
3>GetscrollRanfg:
函数功能:获取指定滚动条中滚动按钮位置的当前最大最小值。
函数原型:BOOL GetscrollRange(HWND hWnd,int iBar,LPINT lpMinPos,LPINT IpMaxPos);
参数:
hWnd:滚动条控制或带标准滚动条窗体的句柄,由nBar参数值确定。
nBar:定滚动条哪一个位置将被找回。这个参数可以是下面值,含义如下:
SB_CTL:找回滚动条控制位置。而参数hWnd必须是滚动条控制的句柄。
SB_HORZ:找回窗体上标准水平滚动条的位置。
SB_VERT:找回窗体上标准垂直滚动条位置。
lpMinPos:指向所找到最小位置整型变量
lpMaxPos:指向所找到最大位置整型变量
返回值:如果函数运行成功,返回值为非零;如果函数运行失败,返回值为零。若想获得更多的错误信息,请调用GetLastError函数。
注意:如果所指定的窗体没有标准的滚动条或者不是滚动条控制,那么GetscrollRange函数将复制0到参数lpMinPos和lpMaxPos中。
标准滚动条的缺省范围值是从0到100之间,滚动条控制的缺省范围为空。
说明滚动条位置的消息WM_HSCROLL和WM_VSCROLL均为16位的数据。但是,因为函数SetScrolllnfo,SetScrollPos,SetScrollRange;GetScrolllnfo,GetScrollPos,和GetScrollRange都支持32位的滚动条位置数据,所以有一个解决16位WM_HSCROLL和WM_VSCROLL消息阻碍的途径,请参见函数GetScrohnfo的有关技术说明。
4>GetScrollPos:
函数功能:该函数获取指定滚动条中滚动按钮的当前位置。当前位置是一个根据当前滚动范围而定的相对值。例如,如果滚动范围是0到100之间,滚动按钮在中间位置,则其当前位置为50。该函数提供了向后兼容性,新的应用程序应使用GetScrollInfo函数。
函数原型:int GetScrollPos(HWND hWnd,int nBar);
参数
hWnd:根据参数nBar值,处理滚动条控制或带有标准滚动条窗体
nBar:指定滚动条将被检查。这个参数可以是下面值,含义如下:
SB_CTL:找回滚动条控制中滚动翻页盒的位置。而参数hwnd必须是滚动条控制的句柄。
SB_HORZ:找回窗体上标准水平滚动条中参数滚动翻页盒的位置。
SB_VERT:找回窗体上标准垂直滚动条中参数滚动翻页盒的位置。
返回值:如果函数运行成功,其返回值是滚动翻页盒的当前位置;如果函数运行失败,其返回值是0。想若想获得更多的错误信息,请调用GetLastError函数。
注意:函数GetScrollPos可以使应用程序使用32位滚动位置。尽管消息WM_HSCROLL和WM_VSCROLL指出了滚动条位置,但却被限制为16位,而函数SetScrollPos,SetScrollRange,GetScrollPos,和GetscrollRange都支持32位的滚动条数据。
在WM_HSCROLL或WM_VSCROLL消息中通告SB_JHUMBTRACK时,为了得到滚动条32位的位置,请调用GetScrolllnfo函数。
在WM_HSCROLL或WM_VSCROLL消息中通告SB_THUMBTRACK时,为了得到32位的滚动条,则调用函数GetScrolllnfo。
5>SetScrollinfo:
函数功能:该函数设置滚动条参数,包括滚动位置的最大值和最小值,页面大小,滚动按钮的位置。如被请求,函数也可以重画滚动条。
函数原型:int SetScrollInfo(HWND hWnd,int fnBar,LPSCROLLINFO lpsi,BOOL fRedraw);
参数
hWnd:滚动条控件或带标准滚动条的窗体句柄,由fnBar参数决定。
fnBar:指定被设定参数的滚动条的类型。这个参数可以是下面值,含义如下:
SB_CTL:设置滚动条控件。而参数hwnd必须是滚动条控件的句柄。
SB_HORZ:设置所给定的窗体上标准水平滚动条参数。
SB_VERT:设置所给定的窗体上标准垂直滚动条参数。
lpsi:指向SCROLLINFO结构。在调用SetScrollInfo之前,设置SCROLLINFO结构中cbSize成员以标识结构大小,设置成员fMask以说明待设置的滚动条参数,并且在适当的成员中制定新的参数值。成员fMask可以为下面所列复合值,含义如下:
SIF_DfSABLENOSCROLL:如果滚动条的新参数使其为没必要,则使滚动条无效而不再移动它。
SIF_PAGE:设置滚动页码值到由Ipsi指向的SCROLLINFO结构的nPage成员中。
SIF_POS:设置滚动位置值到由lpsi指向的SCROLLINFO结构的nPos成员中。
SIF_RANGE:设置滚动范围值到由lpsl指向的SCROLLINFO结构的nMin和nMax成员中。
fRedraw:指定滚动条是否重画以反映滚动条的变化。如果这个参数为TRUE,滚动条将被重画,否则不被重画。
返回值:返回值是滑块的当前位置。
6>GetScrollinfo:
函数功能:该函数找到滚动条的参数,包括滚动条位置的最小值、最大值,页面大小,滚动按钮的位置等。
函数原型BOOL GetScrollInfo( HWND hWnd, int fnBar, LPSCROLLINFO lpsi );
参数
hWnd:滚动条控制或有标准滚动条的窗体句柄,由fnBar参数确定。
fnBar:指定待找回滚动条参数的类型,此参数可以为如下值,其值含义:
SB_CTL:找回滚动条控制参数。其中参数hwnd一定是处理滚动条控制的句柄。
SB_HORZ:找回所指定窗体的标准水平滚动条参数。
SB_VERT:找回所指定窗体的标准垂直滚动条参数。
lpsi:指向SCROLLINFO结构。
SCROLLINFO结构
typedef struct tagSCROLLINFO {
UINT cbSize;
UINT fMask;
int nMin;
int nMax;
UINT nPage;
int nPos;
int nTrackPos;
} SCROLLINFO, *LPSCROLLINFO;
typedef SCROLLINFO CONST *LPCSCROLLINFO;
////////////////
cbSize是结构大小,填sizeof(SCROLLINFO)
fMask指定使用结构中哪些成员,不指定的就不使用
可以是以下几个值的任意组合
SIF_ALL
SIF_DISABLENOSCROLL
SIF_PAGE 复制滚动页码到由lpsi指向的SCROLLINFO结构的nPage成员中
SIF_POS 复制滚动位置到由lpsi指向的SCROLLINFO结构的nPos成员中
SIF_RANGE 复制滚动范围到由lpsi指向的SCROLLINFO结构的nMin和nMax成员中
SIF_TRACKPOS 复制当前滚动盒跟踪位置到由lpsi指向的SCROLLINFO结构的nTrackPos成员中
在调用Getscrolllofo函数之前,设置SCROLLINFO结构中cbSize成员以标识结构大小,设置成员fMask以说明待找回的滚动条参数。在运行之前,函数复制结构中适当的成员所指定的参数。
返回值:如果函数找到任何一个值,那么返回值为非零;如果函数没有找到任何值,那么返回值为零;
若要得到更多出错信息,请调用GetLastError函数。