Kontrolltyp för menyrad
Det här avsnittet innehåller information om Microsoft UI Automation-stöd för kontrolltypen MenuBar.
Menyradskontroller är ett exempel på kontroller som implementerar Menyrad kontrolltyp. Menystaplar är ett sätt för användare att aktivera kommandon och alternativ som finns i ett program.
I följande avsnitt definieras den nödvändiga UI Automation-trädstrukturen, egenskaperna, kontrollmönstren och händelserna för MenuBar kontrolltyp. Kraven för UI Automation gäller för alla menyradskontroller 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
- 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 menyradskontroller 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 |
---|---|
|
|
En menyradskontroll visas alltid i kontrollvyn, men inte i innehållsvyn eftersom den vanligtvis inte förmedlar meningsfull information till slutanvändaren (såvida inte programmet innehåller mer än en menyrad).
UI Automation-klienter kan lyssna efter händelsen UIA_MenuModeStartEventId för att säkerställa att de meddelas konsekvent när användargränssnittet går in i menyläget. När programmet är i menyläge kan alla tangentbordsindata hämtas för menynavigering (om du till exempel skriver "s" kan du anropa menyn Spara i stället för att skriva tecknet i programmets klientområde). Händelsen UIA_MenuModeStartEventId måste föregå den första UIA_MenuOpenedEventId händelsen för att säkerställa logisk konsekvens. Händelsen UIA_MenuModeEndEventId följer den senaste UIA_MenuClosedEventId händelsen. Om du klickar på ett menyalternativ kan du också omedelbart utlösa händelsen UIA_MenuModeStartEventId följt av en UIA_MenuOpenedEventId händelse.
En menyradskontroll kan innehålla andra kontroller, till exempel redigeringskontroller och kombinationsrutor, i dess struktur. Dessa ytterligare kontroller motsvarar de "andra kontroller" som anges ovan 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 MenuBar 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_AcceleratorKeyPropertyId | NOLL | Menystaplar har vanligtvis inte acceleratornycklar. |
UIA_AccessKeyPropertyId | "ALT" | Om du trycker på ALT-tangenten bör du vanligtvis fokusera på menyraden i programmet. |
UIA_BoundingRectanglePropertyId | Se anteckningar. | Värdet som exponeras av den här egenskapen måste innehålla alla kontroller som finns i den. |
UIA_ControlTypePropertyId | Menyrad | |
UIA_IsContentElementPropertyId | FALSK | Menyradskontrollen ingår inte i innehållsvyn i UI Automation-trädet. |
UIA_IsControlElementPropertyId | SANN | Menyradskontrollen ingår alltid i kontrollvyn för UI Automation-trädet. |
UIA_IsKeyboardFocusablePropertyId | SANN | Menyradskontroller är tangentbordsfokuserbara eftersom kontrollerna de innehåller kan fokusera på tangentbordet. |
UIA_IsOffscreenPropertyId | Se anteckningar. | Värdet för den här egenskapen beror på om kontrollen kan visas på skärmen. |
UIA_LabeledByPropertyId | NOLL | Menyradskontrollerna har vanligtvis ingen etikett. |
UIA_LocalizedControlTypePropertyId | Se anteckningar. | Lokaliserad sträng som motsvarar Menyrad kontrolltyp. Standardvärdet är "menyrad" för en-US eller engelska (USA). |
UIA_NamePropertyId | Se anteckningar. | Menyradskontrollen behöver inget namn om inte ett program har fler än en menyrad. Om det finns fler än en menyrad i ett program använder du den här egenskapen för att exponera unika namn, till exempel "Formatering" eller "Beskrivning". |
UIA_OrientationPropertyId | Beror | Den här egenskapen visar om menyradskontrollen är vågrät eller lodrät. |
Nödvändiga kontrollmönster
I följande tabell visas de UI Automation-kontrollmönster som krävs för att stödjas av menyradskontroller. 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 måste den implementera ExpandCollapse- kontrollmönster. |
IDockProvider | Beror | Om kontrollen kan dockas till olika delar av skärmen måste den implementera kontrollmönstret Dock. |
ITransformProvider | Beror | Om kontrollen kan ändras, roteras eller flyttas måste den implementera kontrollmönstret Transformera. |
Nödvändiga händelser
I följande tabell visas de UI Automation-händelser som menyradskontrollerna 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_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_StructureChangedEventId |
Relaterade ämnen
-
konceptuell
-
översikt över UI Automation-kontrolltyper
-
översikt över UI Automation