Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This function retrieves the parameters of a scroll bar, including the minimum and maximum scrolling positions, the page size, and the position of the scroll box (thumb).

Syntax

BOOL GetScrollInfo( 
  HWND 
hwnd, 
  int 
fnBar, 
  LPSCROLLINFO 
lpsi 
); 

Parameters

hwnd

Handle to a scroll bar control or a window with a standard scroll bar, depending on the value of the fnBarparameter.

fnBar

Specifies the type of scroll bar for which to retrieve parameters. It is one of the following values.

Value Description

SB_CTL

Retrieves the parameters for a scroll bar control. The hwndparameter must be the handle to the scroll bar control.

SB_HORZ

Retrieves the parameters for the given window's standard horizontal scroll bar.

SB_VERT

Retrieves the parameters for the given window's standard vertical scroll bar.

lpsi

Long pointer to a SCROLLINFOstructure. Before calling GetScrollInfo, set the cbSizemember of the structure to sizeof( SCROLLINFO), and set the fMaskmember to specify the scroll bar parameters to retrieve. Before returning, the function copies the specified parameters to the appropriate members of the structure.

The fMaskmember can be a combination of the following values.

Value Description

SIF_PAGE

Copies the scroll page to the nPagemember of the SCROLLINFOstructure pointed to by lpsi.

SIF_POS

Copies the scroll position to the nPosmember of the SCROLLINFOstructure pointed to by lpsi.

SIF_RANGE

Copies the scroll range to the nMinand nMaxmembers of the SCROLLINFOstructure pointed to by lpsi.

SIF_TRACKPOS

Copies the current scroll box tracking position to the nTrackPosmember of the SCROLLINFOstructure pointed to by lpsi.

Return Value

Nonzero indicates success. Zero indicates failure. To get extended error information, call GetLastError.

Remarks

The GetScrollInfofunction enables applications to use 32-bit scroll positions. Although the messages that indicate scroll-bar position, WM_HSCROLLand WM_VSCROLL, provide only 16 bits of position data, the functions SetScrollInfoand GetScrollInfoprovide 32 bits of scroll-bar position data. Thus, an application can call GetScrollInfowhile processing either the WM_HSCROLL or WM_VSCROLL messages to obtain 32-bit scroll-bar position data.

To get the 32-bit position of the scroll box (thumb) during a SB_THUMBTRACK message in a WM_HSCROLL or WM_VSCROLL message, call GetScrollInfowith the SIF_TRACKPOS value in the fMaskmember of the SCROLLINFOstructure. The function returns the tracking position of the scroll box in the nTrackPosmember of the SCROLLINFOstructure. This allows you to get the position of the scroll box as the user moves it. The following sample code illustrates the technique.

Copy Code
SCROLLINFO si;
case WM_HSCROLL:
 switch(LOWORD(wparam)) {
 case SB_THUMBTRACK:
 // Initialize SCROLLINFO structure
 
 ZeroMemory(&si, sizeof(SCROLLINFO));
 si.cbSize = sizeof(SCROLLINFO);
 si.fMask = SIF_TRACKPOS;
 
 // Call GetScrollInfo to get current tracking 
 // position in si.nTrackPos
 
 if (!GetScrollInfo(hwnd, SB_HORZ, &si) )
 return 1; // GetScrollInfo failed
 break;
 .
 .
 .
 }

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