滚动条

本部分包含有关用于滚动条的编程元素的信息。 窗口可以显示大于窗口工作区的数据对象,例如文档或位图。 当随 滚动条一起提供时,用户可以在工作区中滚动数据对象,以便查看超出窗口边框的对象部分。

综述

主题 内容
关于滚动条 滚动条由每个端带有箭头按钮的阴影轴和一个 滚动框(有时称为拇指)在箭头按钮之间组成。
使用滚动条 创建重叠、弹出窗口或子窗口时,可以使用 CreateWindowEx 函数添加标准滚动条,并指定 WS_HSCROLLWS_VSCROLL或两种样式。

功能

主题 内容
EnableScrollBar EnableScrollBar 函数启用或禁用一个或两个滚动条箭头。
GetScrollBarInfo GetScrollBarInfo 函数检索有关指定滚动条的信息。
GetScrollInfo GetScrollInfo 函数检索滚动条的参数,包括最小和最大滚动位置、页面大小和滚动框(thumb)的位置。
GetScrollPos GetScrollPos 函数检索指定滚动条中滚动框(thumb)的当前位置。 当前位置是一个相对值,该值取决于当前滚动范围。 例如,如果滚动范围为 0 到 100,并且滚动框位于条形图中间,则当前位置为 50。 注意: 提供了 GetScrollPos 函数以实现向后兼容性。 新应用程序应使用 GetScrollInfo 函数。
GetScrollRange GetScrollRange 函数检索指定滚动条的当前最小和最大滚动框(thumb)位置。 注意: 仅提供 getScrollRange函数。 新应用程序应使用 GetScrollInfo 函数。
ScrollDC ScrollDC 函数水平和垂直滚动一个位矩形。
ScrollWindow ScrollWindow 函数滚动指定窗口工作区的内容。 注意: 提供了 ScrollWindow 函数以实现向后兼容性。 新应用程序应使用 ScrollWindowEx 函数。
ScrollWindowEx ScrollWindowEx 函数滚动指定窗口工作区的内容。
SetScrollInfo SetScrollInfo 函数设置滚动条的参数,包括最小和最大滚动位置、页面大小以及滚动框(thumb)的位置。 如果请求,该函数还会重新绘制滚动条。
SetScrollPos SetScrollPos 函数设置滚动框(thumb)在指定滚动条中的位置,如果请求,请重新绘制滚动条以反映滚动框的新位置。 注意: 提供了 SetScrollPos 函数以实现向后兼容性。 新应用程序应使用 SetScrollInfo 函数。
SetScrollRange SetScrollRange 函数设置指定滚动条的最小和最大滚动框位置。 注意: 提供了 SetScrollRange 函数以实现向后兼容性。 新应用程序应使用 SetScrollInfo 函数。
ShowScrollBar ShowScrollBar 函数显示或隐藏指定的滚动条。

消息

主题 内容
SBM_ENABLE_ARROWS 应用程序发送 SBM_ENABLE_ARROWS 消息,以启用或禁用滚动条控件的一个或两个箭头。
SBM_GETPOS 发送 SBM_GETPOS 消息以检索滚动条控件滚动框的当前位置。 当前位置是一个相对值,该值取决于当前滚动范围。 例如,如果滚动范围为 0 到 100,并且滚动框位于条形图中间,则当前位置为 50。
应用程序不应直接发送此消息。 相反,它们应使用 GetScrollPos 函数。 窗口通过其 WindowProc 函数接收此消息。 实现自定义滚动条控件的应用程序必须响应这些消息,GetScrollPos 函数才能正常运行。
SBM_GETRANGE 发送 SBM_GETRANGE 消息以检索滚动条控件的最小和最大位置值。
应用程序不应直接发送此消息。 相反,它们应使用 GetScrollRange 函数。 窗口通过其 WindowProc 函数接收此消息。 实现自定义滚动条控件的应用程序必须响应这些消息,GetScrollRange 函数才能正常工作。
SBM_GETSCROLLBARINFO 应用程序发送以检索有关指定滚动条的信息。
SBM_GETSCROLLINFO 发送 SBM_GETSCROLLINFO 消息以检索滚动条的参数。
应用程序不应直接发送此消息。 相反,它们应使用 GetScrollInfo 函数。 窗口通过其 WindowProc 函数接收此消息。 实现自定义滚动条控件的应用程序必须响应这些消息,GetScrollInfo 函数才能正常工作。
SBM_SETPOS 发送 SBM_SETPOS 消息以设置滚动框(thumb)的位置,如果需要,请重新绘制滚动条以反映滚动框的新位置。
应用程序不应直接发送此消息。 相反,它们应使用 SetScrollPos 函数。 窗口通过其 WindowProc 函数接收此消息。 实现自定义滚动条控件的应用程序必须响应这些消息,SetScrollPos 函数才能正常工作。
SBM_SETRANGE 发送 SBM_SETRANGE 消息以设置滚动条控件的最小和最大位置值。
应用程序不应直接发送此消息。 相反,它们应使用 SetScrollRange 函数。 窗口通过其 WindowProc 函数接收此消息。 实现自定义滚动条控件的应用程序必须响应这些消息,SetScrollRange 函数才能正常工作。
SBM_SETRANGEREDRAW 应用程序将 SBM_SETRANGEREDRAW 消息发送到滚动条控件,以设置最小和最大位置值并重绘控件。
SBM_SETSCROLLINFO 发送 SBM_SETSCROLLINFO 消息以设置滚动条的参数。
应用程序不应直接发送此消息。 相反,它们应使用 SetScrollInfo 函数。 窗口通过其 WindowProc 函数接收此消息。 实现自定义滚动条控件的应用程序必须响应这些消息,SetScrollInfo 函数才能正常运行。

通知

主题 内容
WM_CTLCOLORSCROLLBAR 当控件即将绘制时,WM_CTLCOLORSCROLLBAR 消息将发送到滚动条控件的父窗口。 通过响应此消息,父窗口可以使用显示上下文句柄设置滚动条控件的背景色。
窗口通过其 WindowProc 函数接收此消息。
WM_HSCROLL 当窗口的标准水平滚动条中发生滚动事件时,WM_HSCROLL 消息将发送到窗口。 当控件中发生滚动事件时,此消息也会发送到水平滚动条控件的所有者。
窗口通过其 WindowProc 函数接收此消息。
WM_VSCROLL 当窗口的标准垂直滚动条中发生滚动事件时,WM_VSCROLL 消息将发送到窗口。 当控件中发生滚动事件时,此消息也会发送到垂直滚动条控件的所有者。
窗口通过其 WindowProc 函数接收此消息。

结构

主题 内容
SCROLLBARINFO SCROLLBARINFO 结构包含滚动条信息。
SCROLLINFO SCROLLINFO 结构包含由 SetScrollInfo 函数(或 SBM_SETSCROLLINFO 消息)设置的滚动条参数,或者由 GetScrollInfo 函数(或 SBM_GETSCROLLINFO 消息)检索)。

常数

主题 内容
滚动条控件样式 若要使用 CreateWindowCreateWindowEx 函数创建滚动条控件控件,请指定 SCROLLBAR 类、适当的窗口样式常量以及以下滚动条控件样式的组合。 某些样式创建使用默认宽度或高度的滚动条控件。 但是,调用 CreateWindow CreateWindowEx 时,必须始终指定 x 坐标和 y 坐标以及滚动条的其他维度。