ScrollBar 控件类型

本主题提供有关 ScrollBar 控件类型的Microsoft UI 自动化支持的信息。

滚动条控件使用户能够在窗口或项容器中滚动内容。 该控件由一组按钮和一个拇指控件组成。

以下部分定义 ScrollBar 控件类型所需的 UI 自动化树结构、属性、控件模式和事件。 UI 自动化要求适用于 UI 框架/平台集成 UI 自动化对控件类型和控件模式的支持的所有滚动条控件。

本主题包含以下部分。

典型树结构

下表描述了与滚动条控件相关的 UI 自动化树的典型控件和内容视图,并描述了每个视图中可以包含的内容。 有关 UI 自动化树的详细信息,请参阅 UI 自动化树概述

控件视图 内容视图
  • ScrollBar
    • 按钮(0、2 或 4)
    • 拇指 (0 或 1)
不適用。 (滚动条控件没有内容)。

 

滚动条控件可以有零到五个子级。 由于子树具有多个按钮控件,因此元素必须为每个项设置一个特定的 UIA_AutomationIdPropertyId 值,使其可用于自动测试工具。

相关属性

下表列出了其值或定义与滚动条控件特别相关的 UI 自动化属性。 请注意,滚动条控件从不具有内容;其功能通过 Scroll 控件模式公开,该模式在正在滚动的容器上受支持。

有关 UI 自动化属性的详细信息,请参阅 从 UI 自动化元素检索属性

UI 自动化属性 价值 笔记
UIA_AutomationIdPropertyId 请参阅备注。 此属性的值在 UI 自动化树的原始视图中的所有对等元素中必须是唯一的。
UIA_BoundingRectanglePropertyId 请参阅备注。 包含整个控件的最外侧矩形。
UIA_ClickablePointPropertyId 滚动条控件没有可单击点。
UIA_ControlTypePropertyId ScrollBar 对于所有框架,此值相同。 作为滑块的滚动条必须使用 滑块 控件类型。
UIA_IsContentElementPropertyId 滚动条控件绝不是内容元素。 如果滚动条是独立控件,则它必须满足 Slider 控件类型,并为 IUIAutomationElement::CurrentControlType(或 CachedControlType) 属性返回 UIA_SliderControlTypeId
UIA_IsControlElementPropertyId 滚动条控件始终包含在 UI 自动化树的控件视图中。
UIA_IsKeyboardFocusablePropertyId 请参阅备注。 如果控件可以接收键盘焦点,它必须支持此属性。 滚动条控件很少获取焦点,但当焦点出现时,焦点应保留在滚动条控件本身上,而不是放在子按钮或拇指上。 用户应能够使用向上键和向下键(或向右键和向左键)或 PAGE 向上键和向下键执行所有滚动作。
UIA_LabeledByPropertyId 滚动条没有标签。
UIA_LocalizedControlTypePropertyId 请参阅备注。 对应于 ScrollBar 控件类型的本地化字符串。 默认值为 en-US 或英语(美国)的“滚动条”。
UIA_NamePropertyId 滚动条控件没有内容元素,不需要设置 UIA_NamePropertyId 属性。
UIA_OrientationPropertyId 请参阅备注。 滚动条控件必须始终公开其水平或垂直方向。

 

所需的控件模式

下表列出了所有滚动条控件支持所需的 UI 自动化控件模式。 有关控件模式的详细信息,请参阅 UI 自动化控件模式概述

注意

仅当滚动条用作鼠标作的控件时,它不支持控件模式。 如果它用作应用程序中的滑块控件,则必须为它提供 滑块 控件类型。

 

控件模式 支持 笔记
IRangeValueProvider 取决于 仅当具有滚动条的容器不支持 Scroll 控件模式时,才需要支持 RangeValue 控件模式。
IScrollProvider 从不 滚动条上永远不会直接支持 滚动 控件模式。

 

必需事件

下表列出了滚动条控件需要支持的 UI 自动化事件。 有关事件的详细信息,请参阅 UI 自动化事件概述

UI 自动化事件 笔记
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId 属性更改事件。
UIA_IsEnabledPropertyId 属性更改事件。 如果控件支持 IsEnabled 属性,则必须支持此事件。
UIA_IsOffscreenPropertyId 属性更改事件。 如果控件支持 IsOffscreen 属性,则必须支持此事件。
UIA_StructureChangedEventId
UIA_RangeValueValuePropertyId 属性更改事件。 如果控件支持 RangeValue 控件模式,则必须支持此事件。

 

概念

UI 自动化控件类型概述

UI 自动化概述