ScrollBar 控件类型
本主题提供有关 ScrollBar 控件类型的Microsoft UI 自动化支持的信息。
滚动条控件使用户能够在窗口或项容器中滚动内容。 该控件由一组按钮和一个拇指控件组成。
以下部分定义 ScrollBar 控件类型所需的 UI 自动化树结构、属性、控件模式和事件。 UI 自动化要求适用于 UI 框架/平台集成 UI 自动化对控件类型和控件模式的支持的所有滚动条控件。
本主题包含以下部分。
典型树结构
下表描述了与滚动条控件相关的 UI 自动化树的典型控件和内容视图,并描述了每个视图中可以包含的内容。 有关 UI 自动化树的详细信息,请参阅 UI 自动化树概述。
控件视图 | 内容视图 |
---|---|
|
不適用。 (滚动条控件没有内容)。 |
滚动条控件可以有零到五个子级。 由于子树具有多个按钮控件,因此元素必须为每个项设置一个特定的 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 控件模式,则必须支持此事件。 |
相关主题