滚动条

本节包含与滚动条一起使用的编程元素的相关信息。 窗口可以显示大于窗口工作区的数据对象,例如文档或位图。 当提供滚动条时,用户可以滚动客户区中的数据对象,以使对象的延伸超出窗口边界的部分进入视野。

概述

主题 目录
关于滚动条 滚动条由每个端带有箭头按钮的阴影轴和箭头按钮之间的滚动框(有时称为 thumb)组成。
使用滚动条 在创建重叠、弹出式或子窗口时,可以使用 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 类、适当的窗口样式常量以及以下滚动条控件样式的组合。 某些样式创建了一个滚动条控件,该控件使用默认的宽度或高度。 但是,在调用 CreateWindowCreateWindowEx 时,必须始终指定滚动条的 x 坐标、y 坐标和其他尺寸。