Dela via


Typ av menykontroll

Det här avsnittet innehåller information om Microsoft UI Automation-stöd för -menyn kontrolltyp.

En menykontroll tillåter hierarkisk organisation av element som är associerade med kommandon och händelsehanterare. I ett typiskt Microsoft Windows-program innehåller en menyrad flera menyknappar (till exempel File, Editoch Window), och varje menyknapp visar en meny. En meny innehåller en samling menyobjekt (till exempel New, Openoch Close), som kan expanderas för att visa ytterligare menyobjekt eller utföra en specifik åtgärd när du klickar på den.

I följande avsnitt definieras den nödvändiga UI Automation-trädstrukturen, egenskaperna, kontrollmönstren och händelserna för -menyn kontrolltyp. Kraven för användargränssnittsautomatisering gäller för alla menykontroller där UI-ramverket/plattformen integrerar UI Automation-stöd för kontrolltyper och kontrollmönster.

Det här avsnittet innehåller följande avsnitt.

Typisk trädstruktur

I följande tabell visas en typisk kontroll- och innehållsvy över UI Automation-trädet som gäller för menykontroller och beskriver vad som kan finnas i varje vy. Mer information om UI Automation-trädet finns i UI Automation Tree Overview.

Kontrollvy Innehållsvy
  • Meny
    • MenuItem (1 eller många)
    • Andra kontroller (0 eller många)
  • Meny
    • MenuItem (1 eller många)
    • Andra kontroller (0 eller många)

 

Menykontroller visas alltid i kontrollvyn och innehållsvyn i UI Automation-trädet. Menykontroller bör visas under den kontroll som deras information refererar till. UI Automation-klienter kan lyssna efter UIA_MenuOpenedEventId för att säkerställa att de konsekvent hämtar information som förmedlas av menykontroller. Snabbmenykontroller är ett specialfall. De kan visas som underordnade på skrivbordet eller i ett programfönster på toppnivå.

En menykontroll kan innehålla andra kontroller, till exempel redigeringskontroller och kombinationsrutor, i dess struktur. Dessa ytterligare kontroller motsvarar de "andra kontroller" som anges i föregående tabell i kontroll- och innehållsvyerna.

Relevanta egenskaper

I följande tabell visas UI Automation-egenskaper vars värde eller definition är särskilt relevant för -menyn kontrolltyp. Mer information om egenskaper för UI Automation finns i Hämta egenskaper från UI Automation-element.

UI Automation-egenskap Värde Anteckningar
UIA_ControlTypePropertyId meny
UIA_IsContentElementPropertyId SANN Menykontrollen ingår alltid i innehållsvyn i UI Automation-trädet.
UIA_IsControlElementPropertyId SANN Menykontrollen ingår alltid i kontrollvyn för UI Automation-trädet.
UIA_LabeledByPropertyId NOLL Ingen etikett förväntas med en typisk menykontroll.
UIA_NamePropertyId Se anteckningar. Menykontrollen kräver inte att egenskapen Namn anges, eller så kan den ha samma namn som den associerade kontrollen, till exempel ett menyalternativ som öppnade undermenyn.

 

Nödvändiga kontrollmönster

Det finns inga nödvändiga kontrollmönster för menykontrolltypen.

Nödvändiga händelser

Menykontroller måste höja UIA_MenuOpenedEventId händelsen när de visas på skärmen. Händelsen UIA_MenuOpenedEventId innehåller kontrollens text. Händelsen UIA_MenuClosedEventId måste aktiveras när en meny försvinner från skärmen.

I följande tabell visas de UI Automation-händelser som menykontroller krävs för att stödja. Mer information om händelser finns i UI Automation Events Overview.

UI Automation-händelse Anteckningar
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId händelse som ändrats av egenskapen.
UIA_IsEnabledPropertyId händelse som ändrats av egenskapen. Om kontrollen stöder egenskapen IsEnabled måste den stödja den här händelsen.
UIA_IsOffscreenPropertyId händelse som ändrats av egenskapen. Om kontrollen stöder egenskapen IsOffscreen måste den ha stöd för den här händelsen.
UIA_MenuClosedEventId
UIA_MenuOpenedEventId
UIA_StructureChangedEventId

 

konceptuell

översikt över UI Automation-kontrolltyper

översikt över UI Automation