WM_VSCROLL

【勇芳软件工作室】汉化HomePreviousNext

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

WM_VSCROLL

nScrollCode = (int) LOWORD(wParam); //滚动条值

nPos = (short int) HIWORD(wParam); //滚动框位置

hwndScrollBar = (HWND) lParam; //滚动条的句柄

参数

【nScrollCode】

【wParam中】的低位字的值。指定滚动条值,该值指示用户的滚动请求。此参数可以是以下值之一:

含义
SB_BOTTOM滚动到右下角。
SB_ENDSCROLL结束滚动。
SB_LINEDOWN向下滚动一行。
SB_LINEUP向上滚动一行。
SB_PAGEDOWN向下滚动一页。
SB_PAGEUP向上滚动一页。
SB_THUMBPOSITION滚动到绝对位置。当前位置由【nPos】参数指定。
SB_THUMBTRACK将滚动框拖动到指定位置。当前位置由【nPos】参数指定。
SB_TOP滚动到左上角。

【nPos】

【wParam中】的高位字的值。如果【nScrollCode】参数是SB_THUMBPOSITION或SB_THUMBTRACK,则指定滚动框的当前位置;否则,【nPos】不被使用。

【hwndScrollBar】

价值【lParam的】.如果WM_VSCROLL由滚动条控件发送,则标识控件。如果WM_VSCROLL由窗口的标准滚动条发送,则不使用【hwndScrollBar】.

返回值

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

备注

当用户拖动滚动框时,SB_THUMBTRACK通知消息通常由提供反馈的应用程序使用。

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

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

但是,由于SetScrollPosSetScrollRangeGetScrollPosGetScrollRange功能支持32位滚动条位置数据,因此可以避免WM_HSCROLL和WM_VSCROLL消息的16位屏障。有关技术及其限制的描述,请参阅GetScrollPos.

也可以看看

GetScrollPos, GetScrollRange, SetScrollPos, SetScrollRange, WM_HSCROLL