共用方式為


功能表控制件類型

本主題提供 功能表 控件類型Microsoft使用者介面自動化支援的相關信息。

功能表控制項允許階層式組織與命令和事件處理程式相關聯的專案。 在一般Microsoft Windows 應用程式中,功能表欄包含數個功能表按鈕(例如 檔案[編輯] 和 [視窗],而每個功能表按鈕都會顯示功能表。 功能表包含功能表項集合(例如 [新增][開啟] 和 [關閉]),可以展開以顯示其他功能表項,或在單擊時執行特定動作。

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

本主題包含下列各節。

一般樹狀結構

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

控件檢視 內容檢視
  • 功能表
    • MenuItem (1 或多個)
    • 其他控制件 (0 或許多)
  • 功能表
    • MenuItem (1 或多個)
    • 其他控制件 (0 或許多)

 

功能表控件一律會出現在控件檢視和UI自動化樹狀結構的內容檢視中。 功能表控件應該會顯示在其資訊所參考的控制件底下。 使用者介面自動化用戶端可以接聽 UIA_MenuOpenedEventId,以確保它們一致地取得功能表控件所傳達的資訊。 作功能表控件是特殊案例。 它們可能會顯示為桌面或最上層應用程式視窗的子系。

功能表控制項可以包含其結構中的其他控制件,例如編輯控件和下拉式方塊。 這些額外的控件會對應至控件和內容檢視中上表所列的「其他控制件」。

相關屬性

下表列出UI自動化屬性,其值或定義與 功能表 控件類型特別相關。 如需 UI 自動化屬性的詳細資訊,請參閱 從 UI 自動化元素擷取屬性

UI 自動化屬性 價值 筆記
UIA_ControlTypePropertyId 功能表
UIA_IsContentElementPropertyId 功能表控件一律包含在UI自動化樹狀結構的內容檢視中。
UIA_IsControlElementPropertyId 功能表控件一律包含在UI自動化樹狀結構的控件檢視中。
UIA_LabeledByPropertyId 一般功能表控件不會預期任何標籤。
UIA_NamePropertyId 請參閱附注。 功能表控制項不需要設定 Name 屬性,或可能具有相同名稱的關聯控件,例如開啟子功能表的功能表項。

 

必要的控制件模式

功能表控制項類型不需要控制項模式。

必要事件

功能表控件在畫面上出現時,必須引發 UIA_MenuOpenedEventId 事件。 UIA_MenuOpenedEventId 事件會包含控件的文字。 當功能表從畫面消失時,必須引發 UIA_MenuClosedEventId 事件。

下表列出功能表控制項需要支援的UI自動化事件。 如需事件的詳細資訊,請參閱 UI 自動化事件概觀

UI 自動化事件 筆記
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId 屬性變更事件。
UIA_IsEnabledPropertyId 屬性變更事件。 如果控件支援 IsEnabled 屬性,則必須支援這個事件。
UIA_IsOffscreenPropertyId 屬性變更事件。 如果控件支援 IsOffscreen 屬性,它就必須支援這個事件。
UIA_MenuClosedEventId
UIA_MenuOpenedEventId
UIA_StructureChangedEventId

 

概念

UI 自動化控制項類型概觀

UI 自動化概觀