SetScrollPos
The SetScrollPos
function sets the position of the scroll box (thumb) in the specified scroll
bar and, if requested, redraws the scroll bar to reflect the new position of
the scroll box. The SetScrollPos function is provided for compatibility
with Windows 3.x. Win32-based applications should use the SetScrollInfo
int SetScrollPos(
HWND hWnd, |
// handle of window
with scroll bar |
int nBar, |
// scroll bar flag |
int nPos, |
// new position of
scroll box |
BOOL bRedraw |
// redraw flag |
); |
|
Parameters
hWnd
Identifies a
scroll bar control or a window with a standard scroll bar, depending on the
value of the nBar parameter.
nBar
Specifies the
scroll bar to be set. This parameter can be one of the following values:
Value |
Meaning |
SB_CTL |
Sets the
position of the scroll box in a scroll bar control. The hWnd parameter
must be the handle of the scroll bar control. |
SB_HORZ |
Sets the
position of the scroll box in a window s standard horizontal scroll bar. |
SB_VERT |
Sets the
position of the scroll box in a window s standard vertical scroll bar. |
nPos
Specifies the
new position of the scroll box. The position must be within the scrolling
range. For more information about the scrolling range, see the SetScrollRange
bRedraw
Specifies
whether the scroll bar is redrawn to reflect the new scroll box position. If
this parameter is TRUE, the scroll bar is redrawn. If it is FALSE, the scroll
bar is not redrawn.
Return Values
If the
function succeeds, the return value is the previous position of the scroll box.
If the
function fails, the return value is zero. To get extended error information,
call GetLastError
Remarks
If the scroll
bar is redrawn by a subsequent call to another function, setting the bRedraw
parameter to FALSE is useful.
Because the
messages that indicate scroll bar position, WM_HSCROLL and WM_VSCROLL, are
limited to 16 bits of position data, applications that rely solely on those
messages for position data have a practical maximum value of 65,535 for the SetScrollPos
function s nPos parameter.
However,
because the SetScrollPos, SetScrollRange, GetScrollPos,
and GetScrollRange functions support 32-bit scroll bar position data,
there is a way to circumvent the 16-bit barrier of the WM_HSCROLL and
WM_VSCROLL messages. See GetScrollPos for a description of the technique
and its limits.
See Also