SetScrollInfo

A version of this page is also available for

Windows Embedded CE 6.0 R3

4/8/2010

This function sets the parameters of a scroll bar, including the minimum and maximum scrolling positions, the page size, and the position of the scroll box (thumb). SetScrollInfo also redraws the scroll bar, if requested.

Syntax

int SetScrollInfo( 
  HWND hwnd, 
  int fnBar, 
  LPSCROLLINFO lpsi, 
  BOOL fRedraw 
); 

Parameters

  • hwnd
    Handle to a scroll bar control or a window with a standard scroll bar, depending on the value of the fnBar parameter.
  • fnBar
    Specifies the type of scroll bar for which to set parameters. It is one of the following values.

    Value Description

    SB_CTL

    Sets the parameters of a scroll bar control. The hwnd parameter must be the handle to the scroll bar control.

    SB_HORZ

    Sets the parameters of the given window's standard horizontal scroll bar.

    SB_VERT

    Sets the parameters of the given window's standard vertical scroll bar.

  • lpsi
    Long pointer to a SCROLLINFO structure. Before calling SetScrollInfo, set the cbSize member of the structure to sizeof(SCROLLINFO), set the fMask member to indicate the parameters to set, and specify the new parameter values in the appropriate members.

    The fMask member can be a combination of the following values.

    Value Description

    SIF_DISABLENOSCROLL

    Disables the scroll bar instead of removing it, if the scroll bar's new parameters make the scroll bar unnecessary.

    SIF_PAGE

    Sets the scroll page to the value specified in the nPage member of the SCROLLINFO structure pointed to by lpsi.

    SIF_POS

    Sets the scroll position to the value specified in the nPos member of the SCROLLINFO structure pointed to by lpsi.

    SIF_RANGE

    Sets the scroll range to the value specified in the nMinand nMax members of the SCROLLINFO structure pointed to by lpsi.

  • fRedraw
    Boolean that specifies whether the scroll bar is redrawn to reflect the changes to the scroll bar. If this parameter is TRUE, the scroll bar is redrawn, otherwise, it is not redrawn.

Return Value

The current position of the scroll box indicates success.

Remarks

The SetScrollInfo function performs range checking on the values specified by the nPage and nPos members of the SCROLLINFO structure. The nPage member must specify a value from 0 to nMax - nMin +1. The nPos member must specify a value between nMin and nMax - max(nPage –1, 0). If either value is beyond its range, the function sets it to a value that is just within the range.

In Windows CE 2.0 and 2.01, if you pass a null pointer in the lpsi parameter, SetScrollInfo returns zero, rather than the current position of the scroll box. For Windows CE 2.10 and later, if you pass a null pointer in the lpsi parameter, SetScrollInfo returns the current scroll bar position and sets the ERROR_INVALID_PARAMETER error code through a call to SetLastError.

Requirements

Header winuser.h
Library Sbcmn.lib
Windows Embedded CE Windows CE 1.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

GetScrollInfo
SCROLLINFO
Scroll Bars Functions

Other Resources

SetLastError