共用方式為


MenuBar 控件類型

本主題提供 MenuBar 控件類型的Microsoft UI 自動化支援相關信息。

功能表欄控件是實作 MenuBar 控件類型的控件範例。 功能表列提供一種方法,讓使用者啟用應用程式中包含的命令和選項。

下列各節會定義 MenuBar 控件類型所需的 UI 自動化樹狀結構、屬性、控制項模式和事件。 使用者介面自動化需求適用於所有功能表欄控制件,其中UI架構/平臺會整合控件類型和控制樣式的UI自動化支援。

本主題包含下列各節。

一般樹狀結構

下表描述與功能表欄控件相關的UI自動化樹狀結構一般控件和內容檢視,並描述每個檢視中可包含的內容。 如需 UI 自動化樹狀結構的詳細資訊,請參閱 UI 自動化樹狀結構概觀

控件檢視 內容檢視
  • MenuBar
    • MenuItem (1 或更多)
    • 其他控制件 (0 或許多)
  • 不適用
    • MenuItem (1 或更多)
    • 其他控制件 (0 或許多)

 

功能表欄控件一律會出現在控件檢視中,但不出現在內容檢視中,因為它通常不會將有意義的資訊傳達給終端使用者(除非應用程式包含多個功能表欄)。

使用者介面自動化用戶端可以接聽 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

 

概念

UI 自動化控制項類型概觀

UI 自動化概觀