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
- relevanta egenskaper
- nödvändiga kontrollmönster
- nödvändiga händelser
- äldre problem
- Relaterade ämnen
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 |
---|---|
|
|
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.
Relaterade ämnen
-
konceptuell
-
översikt över UI Automation-kontrolltyper
-
översikt över UI Automation