GetScrollRange function (winuser.h)

The GetScrollRange function retrieves the current minimum and maximum scroll box (thumb) positions for the specified scroll bar.

Note  The GetScrollRange function is provided for compatibility only. New applications should use the GetScrollInfo function.


BOOL GetScrollRange(
  [in]  HWND  hWnd,
  [in]  int   nBar,
  [out] LPINT lpMinPos,
  [out] LPINT lpMaxPos


[in] hWnd

Type: HWND

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

[in] nBar

Type: int

Specifies the scroll bar from which the positions are retrieved. This parameter can be one of the following values.

Value Meaning
Retrieves the positions of a scroll bar control. The hWnd parameter must be the handle to the scroll bar control.
Retrieves the positions of the window's standard horizontal scroll bar.
Retrieves the positions of the window's standard vertical scroll bar.

[out] lpMinPos


Pointer to the integer variable that receives the minimum position.

[out] lpMaxPos


Pointer to the integer variable that receives the maximum position.

Return value

Type: BOOL

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.


If the specified window does not have standard scroll bars or is not a scroll bar control, the GetScrollRange function copies zero to the lpMinPos and lpMaxPos parameters.

The default range for a standard scroll bar is 0 through 100. The default range for a scroll bar control is empty (both values are zero).

The messages that indicate scroll bar position, WM_HSCROLL and WM_VSCROLL, are limited to 16 bits of position data. However, because SetScrollInfo, SetScrollPos, SetScrollRange, GetScrollInfo, GetScrollPos, and GetScrollRange 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 the GetScrollInfo function for a description of the technique.

If the nBar parameter is SB_CTL and the window specified by the hWnd parameter is not a system scroll bar control, the system sends the SBM_GETRANGE message to the window to obtain scroll bar information. This allows GetScrollRange to operate on a custom control that mimics a scroll bar. If the window does not handle the SBM_GETRANGE message, the GetScrollRange function fails.


Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header winuser.h (include Windows.h)
Library User32.lib
DLL User32.dll

See also