功能表控制項類型

本主題提供功能表控制項類型之 Microsoft 消費者介面自動化支援的相關資訊。

功能表控制項可將命令和事件處理常式的關聯項目以階層方式組織。 在典型的 Microsoft Windows 應用程式中,功能表列包含數個功能表按鈕 (例如 [檔案]、[編輯] 和 [視窗]),而每個功能表按鈕會顯示功能表。 功能表又包含一組功能表項目 (例如 [開新檔案] F:System.Windows.Automation.AutomationElementIdentifiers.IsEnabledProperty、[開啟舊檔] UI Automation Properties Overview和 [關閉檔案] TLA#tla_win32),這些項目可展開顯示更多的功能表項目,或在按一下時可執行特定的動作。

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

本主題包含下列各節。

一般樹狀結構

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

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

 

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

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

相關屬性

下表列出與功能表控制項類型特別相關的消費者介面自動化屬性。 如需消費者介面自動化屬性的詳細資訊,請參閱從 消費者介面自動化 Elements 擷取屬性

使用者介面自動化屬性 注意
UIA_ControlTypePropertyId 功能表
UIA_IsContentElementPropertyId true 功能表控制項一律包含在消費者介面自動化樹狀目錄的內容檢視中。
UIA_IsControlElementPropertyId true 功能表控制項一律包含在 UI 自動化樹狀結構的控制項檢視中。
UIA_LabeledByPropertyId NULL 典型的功能表控制項不預期有標籤。
UIA_NamePropertyId 請參閱備註。 功能表控制項不需要設定 Name 屬性,或可能具有與相關聯控制項相同的名稱,例如開啟子功能表的功能表項目。

 

必要的控制項模式

功能表控制項類型沒有必要的控制項模式。

必要的事件

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

下表列出功能表控制項支援所需的消費者介面自動化事件。 如需 UI Automation Events Overview事件的詳細資訊,請參閱

UI 自動化事件 備註
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId 屬性變更事件。
UIA_IsEnabledPropertyId 屬性變更事件。 如果控制項支援 IsEnabled 屬性,它必須支援這個事件。
UIA_IsOffscreenPropertyId 屬性變更事件。 如果控制項支援 IsOffscreen 屬性,它必須支援這個事件。
UIA_MenuClosedEventId
UIA_MenuOpenedEventId
UIA_StructureChangedEventId

 

概念

UI 自動化控制項類型概觀

UI 自動化概觀