MenuBar 控件類型
本主題提供 MenuBar 控件類型的Microsoft UI 自動化支援相關信息。
功能表欄控件是實作 MenuBar 控件類型的控件範例。 功能表列提供一種方法,讓使用者啟用應用程式中包含的命令和選項。
下列各節會定義 MenuBar 控件類型所需的 UI 自動化樹狀結構、屬性、控制項模式和事件。 使用者介面自動化需求適用於所有功能表欄控制件,其中UI架構/平臺會整合控件類型和控制樣式的UI自動化支援。
本主題包含下列各節。
一般樹狀結構
下表描述與功能表欄控件相關的UI自動化樹狀結構一般控件和內容檢視,並描述每個檢視中可包含的內容。 如需 UI 自動化樹狀結構的詳細資訊,請參閱 UI 自動化樹狀結構概觀。
控件檢視 | 內容檢視 |
---|---|
|
|
功能表欄控件一律會出現在控件檢視中,但不出現在內容檢視中,因為它通常不會將有意義的資訊傳達給終端使用者(除非應用程式包含多個功能表欄)。
使用者介面自動化用戶端可以接聽 UIA_MenuModeStartEventId 事件,以確保UI進入功能表模式時會持續收到通知。 當應用程式處於功能表模式時,可能會擷取功能表導覽的所有鍵盤輸入(例如,輸入 's' 可能會叫用 [儲存] 選單,而不是在應用程式工作區上輸入字元)。 UIA_MenuModeStartEventId 事件必須位於第一個 UIA_MenuOpenedEventId 事件之前,以確保邏輯一致性。 UIA_MenuModeEndEventId 事件會遵循最後一個 UIA_MenuClosedEventId 事件。 單擊功能表項也可以立即觸發 UIA_MenuModeStartEventId 事件,後面接著 UIA_MenuOpenedEventId 事件。
功能表欄控制項可以包含其結構中的其他控制項,例如編輯控件和下拉式方塊。 這些額外的控件會對應至控件和內容檢視中所列的「其他控制件」。
相關屬性
下表列出UI自動化屬性,其值或定義與 MenuBar 控件類型特別相關。 如需 UI 自動化屬性的詳細資訊,請參閱 從 UI 自動化元素擷取屬性。
UI 自動化屬性 | 價值 | 筆記 |
---|---|---|
UIA_AcceleratorKeyPropertyId | 零 | 功能表欄通常沒有快捷鍵。 |
UIA_AccessKeyPropertyId | “ALT” | 按下 ALT 鍵通常會將焦點放在應用程式內的功能表列。 |
UIA_BoundingRectanglePropertyId | 請參閱附注。 | 這個屬性所公開的值必須包含它內含的所有控制件。 |
UIA_ControlTypePropertyId | MenuBar | |
UIA_IsContentElementPropertyId | 假 | 功能表欄控件不包含在UI自動化樹狀結構的內容檢視中。 |
UIA_IsControlElementPropertyId | 真 | 功能表欄控件一律包含在UI自動化樹狀結構的控件檢視中。 |
UIA_IsKeyboardFocusablePropertyId | 真 | 功能表欄控制項是鍵盤焦點,因為它們所包含的控件可以取得鍵盤焦點。 |
UIA_IsOffscreenPropertyId | 請參閱附注。 | 這個屬性的值取決於控件是否可在畫面上檢視。 |
UIA_LabeledByPropertyId | 零 | 功能表欄控制項通常沒有標籤。 |
UIA_LocalizedControlTypePropertyId | 請參閱附注。 | 對應至 MenuBar 的當地語系化字串 控件類型。 默認值為 en-US 或英文(美國)的「功能表欄」。 |
UIA_NamePropertyId | 請參閱附注。 | 除非應用程式有多個功能表欄,否則功能表欄控制項不需要名稱。 如果應用程式中有多個功能表欄,請使用此屬性來公開辨別名稱,例如“Formatting” 或 “Outlining”。 |
UIA_OrientationPropertyId | 取決於 | 這個屬性會公開功能表欄控件是水平還是垂直。 |
必要的控制件模式
下表列出功能表欄控制件支援所需的UI自動化控制件模式。 如需控制樣式的詳細資訊,請參閱 UI 自動化控制樣式概觀。
控制件模式 | 支援 | 筆記 |
---|---|---|
IExpandCollapseProvider | 取決於 | 如果控件可以展開或折疊,它必須實作 ExpandCollapse 控件模式。 |
IDockProvider | 取決於 | 如果控件可以停駐到畫面的不同部分,它必須實作 擴充座 控件模式。 |
ITransformProvider | 取決於 | 如果控件可以重設大小、旋轉或移動,則必須實作 轉換 控件模式。 |
必要事件
下表列出功能表欄控制項需要支援的UI自動化事件。 如需事件的詳細資訊,請參閱 UI 自動化事件概觀。
UI 自動化事件 | 筆記 |
---|---|
UIA_AutomationFocusChangedEventId | |
UIA_BoundingRectanglePropertyId 屬性變更事件。 | |
UIA_ExpandCollapseExpandCollapseStatePropertyId 屬性變更事件。 | 如果控件支援 ExpandCollapse 控件模式,則必須支援此事件。 |
UIA_IsEnabledPropertyId 屬性變更事件。 | 如果控件支援 IsEnabled 屬性,則必須支援這個事件。 |
UIA_IsOffscreenPropertyId 屬性變更事件。 | 如果控件支援 IsOffscreen 屬性,它就必須支援這個事件。 |
UIA_StructureChangedEventId |
相關主題