WM_HSCROLL 消息

当窗口的标准水平滚动条中发生滚动事件时,WM_HSCROLL 消息被发送到窗口。 当水平滚动条控件中发生滚动事件时,此消息也会发送给该控件的所有者。

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

WM_HSCROLL

    WPARAM wParam
    LPARAM lParam; 

参数

wParam

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

LOWORD 指定一个滚动条值,该值指示用户的滚动请求。 该字可以是以下值之一。

含义
SB_ENDSCROLL
结束滚动。
SB_LEFT
滚动到左上角。
SB_RIGHT
滚动到右下角。
SB_LINELEFT
向左滚动一个单位。
SB_LINERIGHT
向右滚动一个单位。
SB_PAGELEFT
按窗口宽度向左滚动。
SB_PAGERIGHT
按窗口宽度向右滚动。
SB_THUMBPOSITION
用户已拖动滚动框(拇指)并松开鼠标按钮。 HIWORD 指示拖动操作结束时滚动框的位置。
SB_THUMBTRACK
用户正在拖动滚动框。 该消息会重复发送,直到用户松开鼠标按钮。 HIWORD 指示滚动框拖动到的位置。

lParam

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

返回值

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

注解

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

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

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

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

要求

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

另请参阅

引用

GetScrollInfo

GetScrollPos

GetScrollRange

SetScrollInfo

SetScrollPos

SetScrollRange

WM_HSCROLL(跟踪条)

WM_VSCROLL