导航:  Windows Controls Procedures > Scroll Bar Control > Functions >

SetScrollPos

上一页返回章节概述下一页

描述

 

这个SetScrollPos功能设置滚动框的位置(拇指)在指定的滚动条,如果要求重画滚动条来反映滚动框的新位置.

 

Note这个SetScrollPos功能提供向后兼容性.新的应用程序应该使用SetScrollInfo功能.

 

FreeBASIC 语法

FUNCTION SetScrollPos ( _

   BYVAL hwnd AS HWND, _

   BYVAL nBar AS LONG, _

   BYVAL nPos AS LONG, _

   BYVAL bRedraw AS WINBOOL _

) AS LONG

 

参数

hwnd

[in]处理滚动条控件或窗口的一个标准的滚动条,根据不同的nBar参数值.

nBar

[in]指定滚动条设置.此参数可以是下列值之一.

 

SB_CTL

在滚动条控件中设置滚动框的位置.hWnd参数必须是滚动条控件的句柄.

SB_HORZ

将滚动框的位置设置为窗口的标准水平滚动条.

SB_VERT

将滚动框的位置设置为窗口的标准垂直滚动条.

nPos

[in]指定滚动框的新位置.该位置必须在滚动范围内.关于滚动范围的更多信息,见SetScrollRange功能.

bRedraw

[in]指定滚动条是否被重画以反映新的滚动框的位置.如果这个参数是TRUE,滚动条的重绘.如果是FALSE,滚动条不重画.

 

返回值

 

如果函数成功,则返回值是滚动框的前一个位置.

 

Windows XP如果桌面是主题,父窗口是一个消息窗口,函数返回一个不正确的值.

 

如果函数失败,返回值为零.若要获取扩展错误信息,请调用GetLastError.

 

备注

 

如果滚动条的后续调用另一个函数重画,设置bRedraw参数FALSE是有用的.

 

因为指示滚动条位置的消息,WM_HSCROLLWM_VSCROLL,是有限的16位的位置数据,仅仅依靠这些信息的位置数据的应用程序有一个现实的65,535最大值SetScrollPos函数参数的非营利组织.

 

然而,因为SetScrollInfo,SetScrollPos,SetScrollRange,GetScrollInfo,GetScrollPos,和GetScrollRange功能支持32位滚动条的位置数据,有办法绕过16位的障碍WM_HSCROLLWM_VSCROLL信息.看到GetScrollInfo对于技术的描述.?鳀??

 

如果nBar参数是SB_CTL和窗口由hWnd参数指定不是系统滚动条控件,系统将SBM_SETPOS消息窗口设置滚动条信息.这允许SetScrollPos在模仿滚动条的自定义控件上操作.如果窗口不处理SBM_SETPOS的消息,SetScrollPos功能失效.儀J??

 

引用文件

 

WinUser.bi