WM_VSCROLL 消息

当窗口的标准垂直滚动条中发生滚动事件时,会向窗口发送 WM_VSCROLL 消息。 当垂直滚动条控件中发生滚动事件时,此消息也会发送给该控件的所有者。

窗口通过其 WindowProc 函数接收此消息。

WM_VSCROLL

    WPARAM wParam
    LPARAM lParam; 

参数

wParam

如果 LOWORD 为 SB_THUMBPOSITION 或 SB_THUMBTRACK,则 HIWORD 指定滚动框的当前位置,否则不使用该字。

LOWORD 指定一个滚动条值,该值指示用户的滚动请求。 此参数的取值可为下列值之一。

含义
SB_BOTTOM
滚动到右下角。
SB_ENDSCROLL
结束滚动。
SB_LINEDOWN
向下滚动一行。
SB_LINEUP
向上滚动一行。
SB_PAGEDOWN
向下滚动一页。
SB_PAGEUP
向上滚动一页。
SB_THUMBPOSITION
用户已拖动滚动框(拇指)并松开鼠标按钮。 HIWORD 指示拖动操作结束时滚动框的位置。
SB_THUMBTRACK
用户正在拖动滚动框。 该消息会重复发送,直到用户松开鼠标按钮。 HIWORD 指示滚动框拖动到的位置。
SB_TOP
滚动到左上角。

lParam

如果消息是由滚动条控件发送的,则该参数是滚动条控件的句柄。 如果消息是通过标准滚动条发送的,则该参数为 NULL

返回值

如果应用程序处理此消息,它应返回零。

注解

SB_THUMBTRACK 请求代码通常由在用户拖动滚动框时提供反馈的应用程序使用。

如果应用程序滚动窗口的内容,则还必须使用 SetScrollPos 函数重置滚动框的位置。

请注意,WM_VSCROLL 消息仅携带 16 位滚动框位置数据。 因此,仅依赖 WM_VSCROLL(和 WM_HSCROLL)获取滚动位置数据的应用程序的实际最大位置值为 65,535。

但是,因为 SetScrollInfoSetScrollPosSetScrollRangeGetScrollInfoGetScrollPosGetScrollRange 函数支持 32 位滚动条位置数据,所以可以通过一种方法来绕过 WM_HSCROLL 和 WM_VSCROLL 消息的 16 位屏障。 有关技术说明,请参阅“GetScrollInfo”

要求

要求
最低受支持的客户端
Windows Vista [仅限桌面应用]
最低受支持的服务器
Windows Server 2003 [仅限桌面应用]
Header
Winuser.h(包括 Windows.h)

另请参阅

引用

GetScrollInfo

GetScrollPos

GetScrollRange

SetScrollInfo

SetScrollPos

SetScrollRange

WM_HSCROLL

WM_VSCROLL(跟踪条)