Dela via


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

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
  • Menyrad
    • MenuItem (1 eller mer)
    • Andra kontroller (0 eller många)
  • Ej tillämpligt
    • MenuItem (1 eller mer)
    • Andra kontroller (0 eller många)

 

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

 

konceptuell

översikt över UI Automation-kontrolltyper

översikt över UI Automation