WM_VSCROLL  W9OVD0 

The WM_VSCROLL message is sent to a window when a scroll event occurs in the window s standard vertical scroll bar. This message is also sent to the owner of a vertical scroll bar control when a scroll event occurs in the control.

WM_VSCROLL

nScrollCode = (int) LOWORD(wParam); // scroll bar value

nPos = (short int) HIWORD(wParam);  // scroll box position

hwndScrollBar = (HWND) lParam;      // handle of scroll bar

 

Parameters

nScrollCode

Value of the low-order word of wParam. Specifies a scroll bar value that indicates the user s scrolling request. This parameter can be one of the following values:

Value

Meaning

SB_BOTTOM

Scrolls to the lower right.

SB_ENDSCROLL

Ends scroll.

SB_LINEDOWN

Scrolls one line down.

SB_LINEUP

Scrolls one line up.

SB_PAGEDOWN

Scrolls one page down.

SB_PAGEUP

Scrolls one page up.

SB_THUMBPOSITION

Scrolls to the absolute position. The current position is specified by the nPos parameter.

SB_THUMBTRACK

Drags scroll box to the specified position. The current position is specified by the nPos parameter.

SB_TOP

Scrolls to the upper left.

 

nPos

Value of the high-order word of wParam. Specifies the current position of the scroll box if the nScrollCode parameter is SB_THUMBPOSITION or SB_THUMBTRACK; otherwise, nPos is not used.

hwndScrollBar

Value of lParam. Identifies the control if WM_VSCROLL is sent by a scroll bar control. If WM_VSCROLL is sent by a window s standard scroll bar, hwndScrollBar is not used.

 

Return Values

If an application processes this message, it should return zero.

Remarks

The SB_THUMBTRACK notification message is typically used by applications that provide feedback as the user drags the scroll box.

If an application scrolls the content of the window, it must also reset the position of the scroll box by using the SetScrollPos3.EU_8 function.

Note that the WM_VSCROLL message carries only 16 bits of scroll box position data. Thus, applications that rely solely on WM_VSCROLL (and WM_HSCROLL) for scroll position data have a practical maximum position value of 65,535.

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

GetScrollPos, GetScrollRange, SetScrollPos, SetScrollRange, WM_HSCROLL