Dela via


Kontrolltyp för MenuItem

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

En menykontroll tillåter hierarkisk organisation av element som är associerade med kommandon och händelsehanterare. I ett typiskt Windows-program innehåller en menyrad flera menyalternativ (till exempel File, Editoch Window), och varje menyalternativ 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.

I följande avsnitt definieras den nödvändiga UI Automation-trädstrukturen, egenskaper, kontrollmönster och händelser för MenuItem kontrolltyp. Kraven för UI Automation gäller för alla menyalternativkontroller 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 menyalternativkontroller 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
  • MenuItem "Hjälp"
    • Meny (undermeny för menyalternativet Hjälp)
      • MenuItem "Hjälpämnen"
      • MenuItem "Om Anteckningar"
  • MenuItem "Hjälp"
    • MenuItem "Hjälpämnen"
    • MenuItem "Om Anteckningar"

 

Kontrollvyn för menyalternativkontrollen har UI Automation-trädstrukturen som visas ovan. Observera att menyalternativet för Hjälp på menyraden har lagts till för att bättre illustrera strukturen.

För innehållsvyn saknas Meny från UI Automation-trädet eftersom den inte förmedlar meningsfull information till slutanvändaren.

Relevanta egenskaper

I följande tabell visas UI Automation-egenskaper vars värde eller definition är särskilt relevant för MenuItem 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_AutomationIdPropertyId Se anteckningar. Värdet för den här egenskapen måste vara unikt bland alla peer-element i den råa vyn för UI Automation-trädet. Allokera egenskapen AutomationId för ett menyalternativ om elementet är känt för att vara konsekvent mellan olika instanser av användargränssnittet. Om menyalternativet är dynamiskt fyllt och inte förutsägbart lämnar du egenskapen AutomationId tom.
UIA_BoundingRectanglePropertyId Se anteckningar. Den yttersta rektangeln som innehåller hela kontrollen.
UIA_ClickablePointPropertyId Se anteckningar. Stöds om det finns en rektangel för avgränsning. Om inte varje punkt i avgränsningsrektangeln är klickbar och elementet utför specialiserad träfftestning åsidosätter och ger en klickbar punkt.
UIA_ControlTypePropertyId MenuItem
UIA_IsContentElementPropertyId SANN Menyalternativkontrollen ingår alltid i innehållsvyn i UI Automation-trädet.
UIA_IsControlElementPropertyId SANN Menyalternativkontrollen ingår alltid i kontrollvyn för UI Automation-trädet.
UIA_IsKeyboardFocusablePropertyId Se anteckningar. Om kontrollen kan få tangentbordsfokus måste den ha stöd för den här egenskapen.
UIA_LocalizedControlTypePropertyId Se anteckningar. Lokaliserad sträng som motsvarar MenuItem kontrolltyp. Standardvärdet är "menyalternativ" för en-US eller engelska (USA).
UIA_NamePropertyId Se anteckningar. Namnet på menyalternativkontrollen är den text som används för att märka den.

 

Nödvändiga kontrollmönster

I följande tabell visas de UI Automation-kontrollmönster som krävs för att stödjas av menyalternativkontroller. Mer information om kontrollmönster finns i UI Automation Control Patterns Overview.

Kontrollmönster Stöd Anteckningar
IExpandCollapseProvider Beror Om kontrollen kan expanderas eller komprimeras implementerar du IExpandCollapseProvider.
IInvokeProvider Beror Om kontrollen kör en enda åtgärd eller ett kommando implementerar du IInvokeProvider.
ISelectionItemProvider Beror Om kontrollen används för att välja från en lista över alternativ bland menyalternativ implementerar du ISelectionItemProvider.
IToggleProvider Beror Om kontrollen representerar ett alternativ som kan aktiveras eller inaktiveras implementerar du IToggleProvider.

 

Nödvändiga händelser

I följande tabell visas de UI Automation-händelser som menyalternativkontroller 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_ExpandCollapseExpandCollapseStatePropertyId händelse som ändrats av egenskapen. Om kontrollen stöder ExpandCollapse kontrollmönster måste den stödja den här händelsen.
UIA_Invoke_InvokedEventId Om kontrollen stöder Anropa kontrollmönster måste den stödja den här händelsen.
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_SelectionItem_ElementAddedToSelectionEventId Om kontrollen stöder SelectionItem kontrollmönster måste den stödja den här händelsen.
UIA_SelectionItem_ElementRemovedFromSelectionEventId Om kontrollen stöder SelectionItem kontrollmönster måste den stödja den här händelsen.
UIA_SelectionItem_ElementSelectedEventId Om kontrollen stöder SelectionItem kontrollmönster måste den stödja den här händelsen.
UIA_StructureChangedEventId
UIA_ToggleToggleStatePropertyId händelse som ändrats av egenskapen. Om kontrollen stöder Växla kontrollmönster måste den stödja den här händelsen.

 

Äldre problem

För Microsoft Win32-menyalternativ stöds Växla kontrollmönster endast när ett menyalternativ är markerat och det är möjligt att programmatiskt avgöra om stöd för växlingskontrollmönstret krävs. Eftersom ett Win32-menyalternativ inte visar om det kan kontrolleras stöds mönstret Anropa kontroll när menyalternativet inte är markerat. Mönstret Anropa kontroll stöds alltid, även för menyalternativ som endast krävs för att stödja växlingskontrollmönstret. Detta gör att klienter inte blir förvirrade när ett menyalternativ som stöder Anropa kontrollmönster (när menyalternativet avmarkerades) inte längre stöder det mönstret när det kontrolleras.

konceptuell

översikt över UI Automation-kontrolltyper

översikt över UI Automation