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。
但是,因为 SetScrollInfo、SetScrollPos、SetScrollRange、GetScrollInfo、GetScrollPos 和 GetScrollRange 函数支持 32 位滚动条位置数据,所以可以通过一种方法来绕过 WM_HSCROLL 和 WM_VSCROLL 消息的 16 位屏障。 有关技术说明,请参阅“GetScrollInfo”。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows Vista [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2003 [仅限桌面应用] |
Header |
|