马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
函数功能:
SetScrollPos 函数设置指定滚动条中滑块位置。如果需要,可重绘滚动条以反映出滚动按钮的新位置。
注意:该函数提供了向后兼容性,新的应用程序应该使用 SetScrollInfo 函数代替。
API 函数原型:
注释:_In_ 说明该参数是输入的,_opt_ 说明该参数是可选参数。int SetScrollPos(
_In_ HWND hWnd,
_In_ int nBar,
_In_ int nPos,
_In_ BOOL bRedraw
);
参数解析:
参数 | 含义 | hWnd | 1. 滚动条控件的句柄或带有标准滚动条窗体的句柄
2. 由 nBar 参数的值确定 | nBar | 指定哪类滚动条的位置将被设置:
1. SB_CTL:将返回滚动条控件的当前位置,要求参数 hwnd 必须是滚动条控件的句柄
2. SB_HORZ:将返回窗体的标准水平滚动条的当前位置
3. SB_VERT:将返回窗体的标准垂直滚动条的当前位置 | nPos | 指定滚动条的新位置,该位置必须在滚动范围之内 | bRedraw | 指定滚动条是否被重画以反映变化(如果这个参数为 TRUE,滚动条将被重画;如果为 FALSE 则不被重画) |
返回值:
1. 如果函数调用成功,返回值是滚动按钮的上一个位置;
2. 如果函数调用失败,返回值是 0。
Windows XP:如果设置了桌面主题并且父窗口是一个消息窗口,则函数返回一个不正确的值。
备注:
1. 如果后续又调用了会重绘滚动条的函数,那么设置参数 bRedraw 为 FALSE 是非常有必要的。
2. 因为说明滚动条位置的消息 WM_HSCROLL 和 WM_VSCROLL 是 16 位数据,所以那些只依赖于说明位置数据消息的应用程序在 SetScrollPos 函数的参数 nPos 中有一个实际最大值 65,535。但是,因为 SetScrolllnfo,SetScrollPos, SetScrollRange,GetScrolllnfo,GetScrollPos 和 GetScrollRange 函数都支持 32 位的滚动条位置数据,所以有一个解决 16 位 WM_HSCROLL 和 WM_VSCROLL 消息阻碍的途径,请参见函数 GetScrolllnfo 的有关技术说明。
3. 如果参数 nBar 设置为 SB_CTL 并且参数 hWnd 所标识的不是一个标准的滚动条控件。系统将发送一个 SBM_SETPOS 消息到窗体用以设置滚动条消息。这将允许 SetScrollPos 函数操作一个定制的伪滚动条控件。如果窗体没有处理 SBM_SETPOS 消息,SetScrollPos 函数将调用失败。
【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。
|