SBM_GETSCROLLINFO message

The SBM_GETSCROLLINFO message is sent to retrieve the parameters of a scroll bar.

Applications should not send this message directly. Instead, they should use the GetScrollInfo function. A window receives this message through its WindowProc function. Applications which implement a custom scroll bar control must respond to these messages for the GetScrollInfo function to work properly.

Parameters

wParam

This parameter is not used.

lParam

Pointer to a SCROLLINFO structure. Before calling GetScrollInfo, set the cbSize member of the structure to sizeof(SCROLLINFO), and set the fMask member to specify the scroll bar parameters to retrieve. Before returning, the message copies the specified parameters to the appropriate members of the structure.

The fMask member can be one or more of the following values.

Value Meaning
SIF_ALL
Combination of SIF_PAGE, SIF_POS, SIF_RANGE, and SIF_TRACKPOS.
SIF_PAGE
Copies the scroll page to the nPage member.
SIF_POS
Copies the scroll position to the nPos member.
SIF_RANGE
Copies the scroll range to the nMin and nMax members.
SIF_TRACKPOS
Copies the current scroll box tracking position to the nTrackPos member.

Return value

If the message retrieved any values, the return value is TRUE; otherwise, it is FALSE.

Remarks

The messages that indicate scroll bar position, WM_HSCROLL and WM_VSCROLL, provide only 16 bits of position data. However, the SCROLLINFO structure used by SBM_GETSCROLLINFO, SBM_SETSCROLLINFO, GetScrollInfo, and SetScrollInfo provides 32 bits of scroll bar position data. You can use these messages and functions while 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 request code in a WM_HSCROLL or WM_VSCROLL message, send SBM_GETSCROLLINFO with the SIF_TRACKPOS value in the fMask member of the SCROLLINFO structure. The message returns the tracking position of the scroll box in the nTrackPos member of the SCROLLINFO structure. This allows you to get the position of the scroll box as the user moves it. Alternatively, you can use the GetScrollInfo function to get the same information.

Requirements

Requirement Value
Minimum supported client
Windows Vista [desktop apps only]
Minimum supported server
Windows Server 2003 [desktop apps only]
Header
Winuser.h (include Windows.h)

See also

Reference

GetScrollInfo

SBM_SETSCROLLINFO

SCROLLINFO

SetScrollInfo