Condividi tramite


Tipo di controllo MenuBar

Questo argomento fornisce informazioni sul supporto di Microsoft Automazione interfaccia utente per il tipo di controllo MenuBar.

I controlli della barra dei menu sono un esempio di controlli che implementano il tipo di controllo MenuBar . Le barre dei menu consentono agli utenti di attivare comandi e opzioni contenuti in un'applicazione.

Le sezioni seguenti definiscono la struttura ad albero Automazione interfaccia utente, le proprietà, i modelli di controllo e gli eventi necessari per il tipo di controllo MenuBar. I requisiti di Automazione interfaccia utente si applicano a tutti i controlli della barra dei menu in cui il framework dell'interfaccia utente/piattaforma integra Automazione interfaccia utente supporto per i tipi di controllo e i modelli di controllo.

In questo argomento sono contenute le sezioni seguenti.

Struttura ad albero tipica

La tabella seguente illustra una visualizzazione tipica del controllo e del contenuto dell'albero Automazione interfaccia utente che riguarda i controlli della barra dei menu e descrive cosa può essere contenuto in ogni visualizzazione. Per altre informazioni sull'albero Automazione interfaccia utente, vedere Panoramica dell'albero Automazione interfaccia utente.

Visualizzazione controlli Visualizzazione contenuto
  • MenuBar
    • MenuItem (1 o più)
    • Altri controlli (0 o molti)
  • Non applicabile
    • MenuItem (1 o più)
    • Altri controlli (0 o molti)

 

Un controllo barra dei menu viene sempre visualizzato nella visualizzazione controllo, ma non nella visualizzazione contenuto perché in genere non trasmette informazioni significative all'utente finale (a meno che l'applicazione non contenga più di una barra dei menu).

Automazione interfaccia utente client possono ascoltare l'evento UIA_MenuModeStartEventId per assicurarsi che vengano notificati in modo coerente quando l'interfaccia utente entra in modalità menu. Quando l'applicazione è in modalità menu, tutti gli input della tastiera possono essere acquisiti per la navigazione dei menu( ad esempio, la digitazione di 's' potrebbe richiamare il menu Salva anziché digitare il carattere nell'area client dell'applicazione). L'evento UIA_MenuModeStartEventId deve precedere il primo evento UIA_MenuOpenedEventId per garantire la coerenza logica. L'evento UIA_MenuModeEndEventId segue l'ultimo evento UIA_MenuClosedEventId . Facendo clic su una voce di menu, è possibile attivare immediatamente l'evento UIA_MenuModeStartEventId , seguito da un evento UIA_MenuOpenedEventId .

Un controllo barra dei menu può contenere altri controlli, ad esempio i controlli di modifica e le caselle combinate, all'interno della relativa struttura. Questi controlli aggiuntivi corrispondono agli "altri controlli" elencati sopra nelle visualizzazioni controlli e contenuto.

Proprietà pertinenti

Nella tabella seguente sono elencate le proprietà Automazione interfaccia utente il cui valore o la definizione sono particolarmente rilevanti per il tipo di controllo MenuBar. Per altre informazioni sulle proprietà Automazione interfaccia utente, vedere Recupero delle proprietà da elementi Automazione interfaccia utente.

Proprietà di automazione interfaccia utente Valore Note
UIA_AcceleratorKeyPropertyId NULL Le barre dei menu in genere non dispongono di tasti di scelta rapida.
UIA_AccessKeyPropertyId "ALT" Premere il tasto ALT deve in genere portare lo stato attivo alla barra dei menu all'interno dell'applicazione.
UIA_BoundingRectanglePropertyId Vedere le note. Il valore esposto da questa proprietà deve includere tutti i controlli contenuti.
UIA_ControlTypePropertyId MenuBar
UIA_IsContentElementPropertyId FALSE Il controllo barra dei menu non è incluso nella visualizzazione contenuto dell'albero Automazione interfaccia utente.
UIA_IsControlElementPropertyId TRUE Il controllo barra dei menu è sempre incluso nella visualizzazione del controllo dell'albero Automazione interfaccia utente.
UIA_IsKeyboardFocusablePropertyId TRUE I controlli barra dei menu hanno lo stato attivabile perché i controlli che contengono possono prendere lo stato attivo.
UIA_IsOffscreenPropertyId Vedere le note. Il valore di questa proprietà dipende dal fatto che il controllo sia visualizzabile o meno sullo schermo.
UIA_LabeledByPropertyId NULL I controlli della barra dei menu in genere non hanno un'etichetta.
UIA_LocalizedControlTypePropertyId Vedere le note. Stringa localizzata corrispondente al tipo di controllo MenuBar . Il valore predefinito è "barra dei menu" per en-US o inglese (Stati Uniti).
UIA_NamePropertyId Vedere le note. Il controllo barra dei menu non necessita di un nome a meno che un'applicazione non abbia più di una barra dei menu. Se in un'applicazione è presente più di una barra dei menu, usare questa proprietà per esporre nomi distinti, ad esempio "Formattazione" o "Struttura".
UIA_OrientationPropertyId Dipende da Questa proprietà espone l'orientamento orizzontale o verticale del controllo barra dei menu.

 

Modelli di controllo obbligatori

La tabella seguente elenca i modelli di controllo Automazione interfaccia utente necessari per essere supportati dai controlli della barra dei menu. Per altre informazioni sui pattern di controllo, vedere UI Automation Control Patterns Overview.

Pattern di controllo Supporto Note
IExpandCollapseProvider Dipende da Se il controllo può essere espanso o compresso, deve implementare il pattern di controllo ExpandCollapse .
IDockProvider Dipende da Se il controllo può essere ancorato a diverse parti dello schermo, deve implementare il pattern di controllo Dock .
ITransformProvider Dipende da Se il controllo può essere ridimensionato, ruotato o spostato, deve implementare il pattern di controllo Transform .

 

Eventi obbligatori

Nella tabella seguente sono elencati gli eventi Automazione interfaccia utente necessari per supportare i controlli della barra dei menu. Per altre informazioni sugli eventi, vedere UI Automation Events Overview.

evento Automazione interfaccia utente Note
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId evento di modifica della proprietà.
UIA_ExpandCollapseExpandCollapseStatePropertyId evento di modifica della proprietà. Se il controllo supporta il pattern di controllo ExpandCollapse , deve supportare questo evento.
UIA_IsEnabledPropertyId evento di modifica della proprietà. Se il controllo supporta la proprietà IsEnabled , deve supportare questo evento.
UIA_IsOffscreenPropertyId evento di modifica della proprietà. Se il controllo supporta la proprietà IsOffscreen , deve supportare questo evento.
UIA_StructureChangedEventId

 

Informazioni concettuali

Cenni preliminari sui tipi di controllo per l'automazione interfaccia utente

Cenni preliminari su automazione interfaccia utente