WM_VSCROLL
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 SetScrollPos
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