UI 自动化对 MenuBar 控件类型的支持
更新:2007 年 11 月
本主题介绍 UI 自动化对 MenuBar控件类型的支持。在 UI 自动化中,控件类型是一组条件,控件必须满足这些条件才能使用 ControlTypeProperty 属性。这些条件包括 UI 自动化树结构的特定准则、UI 自动化属性值和控件模式。
菜单栏控件是用来实现 MenuBar 控件类型的控件示例。菜单栏为用户提供了一种激活应用程序中包含的命令和选项的方法。
以下几节定义了 MenuBar 控件类型必需的 UI 自动化树结构、属性、控件模式和事件。UI 自动化的要求适用于所有列表控件,无论控件是 Windows Presentation Foundation (WPF)、Win32 还是 Windows 窗体。
本主题包括下列各节。
- 必需的 UI 自动化树结构
- 必需的 UI 自动化属性
- 必需的 UI 自动化控件模式
- 必需的 UI 自动化事件
- 相关主题
必需的 UI 自动化树结构
下表描述了与菜单栏控件有关的 UI 自动化树的控件视图和内容视图,以及每个视图中可包含的内容。有关 UI 自动化树的更多信息,请参见 UI 自动化树概述。
控件视图 |
内容视图 |
---|---|
|
|
菜单栏控件可以在其结构中包含其他控件,如编辑控件和组合框。这些附加控件与上面的控件和内容视图中列出的“其他控件”相对应。
必需的 UI 自动化属性
下表列出了值或定义与菜单栏控件密切相关的 UI 自动化属性。有关 UI 自动化属性的更多信息,请参见客户端的 UI 自动化属性。
UI 自动化属性 |
值 |
说明 |
---|---|---|
请参见“说明”。 |
此属性公开的值必须包括它所包含的所有控件。 |
|
请参见“说明”。 |
菜单栏控件不需要名称,除非在一个应用程序中具有多个菜单栏。如果应用程序中有多个菜单栏,则此属性应该用于公开不同的名称,如“格式设置”或“大纲显示”。 |
|
Null |
菜单栏控件绝对不具有标签。 |
|
MenuBar |
此值对于所有的 UI 框架均相同。 |
|
“菜单栏” |
与 MenuBar 控件类型相对应的本地化字符串。 |
|
True |
菜单栏控件始终包括在 UI 自动化树的内容视图中。 |
|
True |
菜单栏控件始终包括在 UI 自动化树的控件视图中。 |
|
请参见“说明”。 |
此属性的值取决于是否可以在屏幕上查看控件。 |
|
视情况而定 |
此属性将公开菜单栏控件是水平方向还是垂直方向。 |
|
True |
菜单栏控件是可以设定键盘焦点的控件,因为它们所包含的控件可以接收键盘焦点。 |
|
请参见“说明”。 |
菜单栏控件需要帮助文本的情况不存在。 |
|
Null |
菜单栏绝对没有快捷键。 |
|
“Alt” |
如果按“Alt”键,则应该始终会将焦点集中到应用程序内的菜单栏上。 |
必需的 UI 自动化控件模式
下表列出了必须由菜单栏控件支持的 UI 自动化控件模式。有关控件模式的更多信息,请参见 UI 自动化控件模式概述。
控件模式/模式属性 |
支持/值 |
说明 |
---|---|---|
视情况而定 |
如果控件可以展开或折叠,则实现 IExpandCollapseProvider。 |
|
视情况而定 |
如果控件可以停靠到屏幕的不同部分,则实现 IDockProvider。 |
|
视情况而定 |
如果可以对控件进行大小调整、旋转或移动,则控件必须实现 ITransformProvider。 |
必需的 UI 自动化事件
下表列出了必须由所有的菜单栏控件支持的 UI 自动化事件。有关事件的更多信息,请参见 UI 自动化事件概述。
UI 自动化事件 |
支持/值 |
说明 |
---|---|---|
BoundingRectangleProperty property-changed 事件。 |
必需 |
无 |
IsOffscreenProperty property-changed 事件。 |
必需 |
无 |
IsEnabledProperty property-changed 事件。 |
必需 |
无 |
ExpandCollapseStateProperty property-changed 事件。 |
视情况而定 |
无 |
必需 |
无 |
|
必需 |
无 |