滚动条
本节包含与滚动条一起使用的编程元素的相关信息。 窗口可以显示大于窗口工作区的数据对象,例如文档或位图。 当提供滚动条时,用户可以滚动客户区中的数据对象,以使对象的延伸超出窗口边界的部分进入视野。
概述
主题 | 目录 |
---|---|
关于滚动条 | 滚动条由每个端带有箭头按钮的阴影轴和箭头按钮之间的滚动框(有时称为 thumb)组成。 |
使用滚动条 | 在创建重叠、弹出式或子窗口时,可以使用 CreateWindowEx 函数并指定 WS_HSCROLL、WS_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 消息)来检索。 |
常量
主题 | 目录 |
---|---|
滚动条控件样式 | 要使用 CreateWindow 或 CreateWindowEx 函数来创建滚动条控件,请指定 SCROLLBAR 类、适当的窗口样式常量以及以下滚动条控件样式的组合。 某些样式创建了一个滚动条控件,该控件使用默认的宽度或高度。 但是,在调用 CreateWindow 或 CreateWindowEx 时,必须始终指定滚动条的 x 坐标、y 坐标和其他尺寸。 |