Tipo di controllo MenuItem

In questo argomento vengono fornite informazioni sul supporto di Microsoft Automazione interfaccia utente per il tipo di controllo MenuItem.

Un controllo menu consente l'organizzazione gerarchica degli elementi associati a comandi e gestori eventi. In un'applicazione Windows tipica, una barra dei menu contiene diverse voci di menu, ad esempio File, Modifica e Finestra, e ogni voce di menu visualizza un menu. Un menu contiene una raccolta di voci di menu (ad esempio Nuovo, Aprie Chiudi), che può essere espansa per visualizzare altre voci di menu che, se selezionate, consentono di eseguire un'azione specifica.

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

In questo argomento sono contenute le sezioni seguenti.

Struttura ad albero tipica

La tabella seguente illustra un controllo e una visualizzazione contenuto tipici dell'albero Automazione interfaccia utente relativo ai controlli voce di menu e descrive cosa può essere contenuto in ogni visualizzazione. Per altre informazioni sull'albero di Automazione interfaccia utente, vedere Panoramica dell'albero di Automazione interfaccia utente.

Visualizzazione controlli Visualizzazione contenuto
  • MenuItem "?"
    • Menu (sottomenu della voce di menu ?)
      • MenuItem "Guida in linea"
      • MenuItem "Informazioni su Blocco note"
  • MenuItem "?"
    • MenuItem "Guida in linea"
    • MenuItem "Informazioni su Blocco note"

 

La visualizzazione controllo del controllo voce di menu include la struttura ad albero Automazione interfaccia utente illustrata in precedenza. Si noti che la voce di menu della Guida nella barra dei menu è stata aggiunta per illustrare meglio la struttura.

Per la visualizzazione contenuto, menu è assente dall'albero Automazione interfaccia utente perché non trasmette informazioni significative all'utente finale.

Proprietà pertinenti

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

Proprietà di automazione interfaccia utente Valore Note
UIA_AutomationIdPropertyId Vedere le note. Il valore di questa proprietà deve essere univoco tra tutti gli elementi peer nella visualizzazione non elaborata dell'albero Automazione interfaccia utente. Allocare la proprietà AutomationId per una voce di menu se l'elemento è noto per essere coerente tra istanze diverse dell'interfaccia utente. Se la voce di menu viene popolata dinamicamente e non prevedibile, lasciare vuota la proprietà AutomationId .
UIA_BoundingRectanglePropertyId Vedere le note. Il rettangolo più esterno che contiene l'intero controllo.
UIA_ClickablePointPropertyId Vedere le note. Supportata se è presente un rettangolo di delimitazione. Se non tutti i punti all'interno del rettangolo di delimitazione sono selezionabili e l'elemento esegue hit testing specializzati, esegue l'override e fornisce un punto selezionabile.
UIA_ControlTypePropertyId MenuItem
UIA_IsContentElementPropertyId TRUE Il controllo voce di menu viene sempre incluso nella visualizzazione contenuto dell'albero Automazione interfaccia utente.
UIA_IsControlElementPropertyId TRUE Il controllo voce di menu è sempre incluso nella visualizzazione controllo dell'albero Automazione interfaccia utente.
UIA_IsKeyboardFocusablePropertyId Vedere le note. Se il controllo può ricevere lo stato attivo, deve supportare questa proprietà.
UIA_LocalizedControlTypePropertyId Vedere le note. Stringa localizzata corrispondente al tipo di controllo MenuItem . Il valore predefinito è "voce di menu" per en-US o inglese (Stati Uniti).
UIA_NamePropertyId Vedere le note. Il nome del controllo voce di menu è il testo utilizzato per etichettarlo.

 

Pattern di controllo obbligatori

Nella tabella seguente sono elencati i pattern di controllo Automazione interfaccia utente necessari per essere supportati dai controlli voce di 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, implementare IExpandCollapseProvider.
IInvokeProvider Dipende da Se il controllo esegue una singola azione o comando, implementare IInvokeProvider.
ISelectionItemProvider Dipende da Se il controllo viene usato per selezionare da un elenco di opzioni tra le voci di menu, implementare ISelectionItemProvider.
IToggleProvider Dipende da Se il controllo rappresenta un'opzione che può essere attivata o disattivata, implementare IToggleProvider.

 

Eventi obbligatori

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

Automazione interfaccia utente evento Note
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId evento modificato dalla proprietà.
UIA_ExpandCollapseExpandCollapseStatePropertyId evento modificato dalla proprietà. Se il controllo supporta il modello di controllo ExpandCollapse , deve supportare questo evento.
UIA_Invoke_InvokedEventId Se il controllo supporta il modello di controllo Invoke , deve supportare questo evento.
UIA_IsEnabledPropertyId evento modificato dalla proprietà. Se il controllo supporta la proprietà IsEnabled , deve supportare questo evento.
UIA_IsOffscreenPropertyId evento modificato dalla proprietà. Se il controllo supporta la proprietà IsOffscreen , deve supportare questo evento.
UIA_SelectionItem_ElementAddedToSelectionEventId Se il controllo supporta il modello di controllo SelectionItem , deve supportare questo evento.
UIA_SelectionItem_ElementRemovedFromSelectionEventId Se il controllo supporta il modello di controllo SelectionItem , deve supportare questo evento.
UIA_SelectionItem_ElementSelectedEventId Se il controllo supporta il modello di controllo SelectionItem , deve supportare questo evento.
UIA_StructureChangedEventId
UIA_ToggleToggleStatePropertyId evento modificato dalla proprietà. Se il controllo supporta il modello di controllo Attiva attivazione, deve supportare questo evento.

 

Problemi preesistenti

Per le voci di menu di Microsoft Win32 , il modello di controllo Disattiva è supportato solo quando viene selezionata una voce di menu ed è possibile determinare a livello di codice se è necessario il supporto per il modello di controllo Attiva attivazione. Poiché una voce di menu Win32 non espone se può essere selezionata, il modello di controllo Invoke è supportato quando la voce di menu non è selezionata. Il modello di controllo Invoke è sempre supportato, anche per le voci di menu necessarie solo per supportare il modello di controllo Disattiva. Questo è così che i client non diventano confusi quando una voce di menu che supporta il modello di controllo Invoke (quando la voce di menu è stata deselezionata) non supporta più quel modello quando viene controllato.

Informazioni concettuali

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

Cenni preliminari su automazione interfaccia utente