Condividi tramite


Panoramica dei pattern di controllo dell'automazione dell'interfaccia utente

Un pattern di controllo è un'implementazione dell'interfaccia che espone un particolare aspetto delle funzionalità di un controllo alle applicazioni client di Automazione interfaccia utente Microsoft. I client usano le proprietà e i metodi esposti tramite un pattern di controllo per recuperare informazioni su una particolare funzionalità del controllo o per modificare un particolare aspetto del comportamento del controllo. Ad esempio, un controllo che presenta un'interfaccia tabulare usa il pattern di controllo Grid per esporre il numero di righe e colonne nella tabella e per consentire a un client di recuperare elementi dalla tabella.

Automazione interfaccia utente usa pattern di controllo per rappresentare comportamenti di controllo comuni. Ad esempio, si utilizza il Invoke pattern di controllo per i controlli che possono essere richiamati, ad esempio pulsanti, e il pattern di controllo Scroll per i controlli con barre di scorrimento, ad esempio caselle di riepilogo, visualizzazioni elenco o caselle combinate. Poiché ogni pattern di controllo rappresenta una funzionalità separata, i pattern di controllo possono essere combinati per descrivere il set completo di funzionalità supportate da un particolare controllo.

Nota

Un controllo aggregato viene costruito con controlli figlio che forniscono l'interfaccia utente per le funzionalità offerte dall'elemento padre e l'elemento padre deve implementare tutti i modelli di controllo che in genere sono associati ai controlli figlio. A sua volta, gli stessi pattern di controllo non devono essere implementati dai controlli figlio.

 

Questo argomento contiene le sezioni seguenti:

Componenti del pattern di controllo di automazione dell'interfaccia utente

I pattern di controllo supportano metodi, proprietà, eventi e relazioni necessari per definire una parte discreta di funzionalità disponibile in un controllo.

  • I metodi consentono ai client di automazione interfaccia utente di modificare il controllo.
  • Le proprietà e gli eventi forniscono informazioni sulla funzionalità e sullo stato del controllo.
  • La relazione tra un elemento dell'automazione dell'interfaccia utente e i suoi elementi genitore, figli e fratelli descrive la struttura degli elementi nell'albero dell'automazione dell'interfaccia utente.

I pattern di controllo sono correlati a controlli simili al modo in cui le interfacce sono correlate agli oggetti COM (Component Object Model). In COM è possibile eseguire una query su un oggetto per chiedere quali interfacce supporta e quindi usare tali interfacce per accedere alle funzionalità. In Automazione interfaccia utente i client possono chiedere a un controllo quali pattern di controllo supporta e quindi interagire con il controllo tramite le proprietà, i metodi, gli eventi e le strutture esposte dai pattern di controllo supportati.

Modelli di controllo nei provider e nei client

I provider di automazione interfaccia utente implementano interfacce del pattern di controllo per esporre il comportamento appropriato per una parte specifica di funzionalità supportata dal controllo. Queste interfacce non sono esposte direttamente ai client, ma vengono usate dal core di automazione interfaccia utente per implementare un altro set di interfacce client. Ad esempio, un provider espone la funzionalità di scorrimento all'automazione dell'interfaccia utente tramite IScrollProvidere l'automazione dell'interfaccia utente espone la funzionalità ai client tramite IUIAutomationScrollPattern.

Modelli di controllo dinamici

Alcuni controlli non supportano sempre lo stesso set di pattern di controllo. Ad esempio, un controllo di modifica del testo su più righe abilita lo scorrimento verticale solo quando contiene più righe di testo di quelle che possono essere visualizzate nell'area visualizzabile. Lo scorrimento è disabilitato quando viene rimosso testo sufficiente in modo che lo scorrimento non sia più necessario. Per questo esempio, IUIAutomationScrollPattern è supportato in modo dinamico, a seconda della quantità di testo presente nella casella di modifica.

La tabella seguente descrive i modelli di controllo di automazione interfaccia utente. Nella tabella sono elencate anche le interfacce del provider usate per implementare i pattern di controllo e le interfacce client usate per accedervi.

Nome Interfaccia del provider Interfaccia client Descrizione
Annotazione IAnnotationProvider IUIAutomationAnnotationPattern Utilizzato per esporre le proprietà di un'annotazione in un documento, ad esempio i commenti nel margine connesso al testo del documento.
Dock IDockProvider IUIAutomationDockPattern Usato per i controlli che possono essere ancorati in un contenitore di ancoraggio, ad esempio barre degli strumenti o tavolozze degli strumenti.
trascinare IDragProvider IUIAutomationDragPattern Utilizzato per supportare controlli trascinabili o controlli con elementi trascinabili.
DestinazioneDiRilascio IDropTargetProvider IUIAutomationDropTargetPattern Usato per supportare gli elementi di controllo che possono essere la destinazione del trascinamento.
EspandiComprimi IExpandCollapseProvider IUIAutomationExpandCollapsePattern Usato per i controlli che possono essere espansi o compressi, ad esempio voci di menu in un'applicazione, ad esempio il menu File.
griglia di IGridProvider IUIAutomationGridPattern Usato per i controlli che supportano la funzionalità della griglia, come il ridimensionamento e lo spostamento in una cella specificata, ad esempio la visualizzazione a icone grandi in Esplora File o le tabelle semplici in Microsoft Office Word.
gridItem IGridItemProvider IUIAutomationGridItemPattern Usato per i controlli con celle nelle griglie. Le singole celle devono supportare il modello GridItem, ad esempio ogni cella nella visualizzazione dettagli di Esplora risorse di Windows.
Invoke IInvokeProvider IUIAutomationInvokePattern Usato per i controlli che possono essere richiamati, ad esempio pulsanti.
ContenitoreOggetto IItemContainerProvider IUIAutomationItemContainerPattern Utilizzato per i controlli che possono contenere altri elementi.
LegacyIAccessible ILegacyIAccessibleProvider IUIAutomationLegacyIAccessiblePattern Usato per esporre le proprietà e i metodi di Microsoft Active Accessibility ai client di automazione UI.
MultipleView IMultipleViewProvider IUIAutomationMultipleViewPattern Usato per i controlli che possono passare da più rappresentazioni dello stesso set di informazioni, dati o elementi figlio, ad esempio un controllo di visualizzazione elenco in cui i dati sono disponibili nelle visualizzazioni anteprima, riquadro, icona, elenco o dettagli.
ModelloOggetto IObjectModelProvider IUIAutomationObjectModelPattern Utilizzato per esporre un puntatore al modello a oggetti sottostante di un documento. Questo pattern di controllo consente a un client di spostarsi da un elemento di automazione interfaccia utente al modello a oggetti sottostante.
RangeValue IRangeValueProvider IUIAutomationRangeValuePattern Utilizzato per i controlli con un intervallo di valori. Ad esempio, un controllo di selezione che visualizza gli anni potrebbe avere un intervallo compreso tra 1900 e 2010, mentre un controllo di selezione che visualizza mesi avrebbe un intervallo compreso tra 1 e 12.
scroll (scorrimento) IScrollProvider IUIAutomationScrollPattern Utilizzato per i controlli che possono scorrere quando sono presenti più informazioni di quanto sia possibile visualizzare nell'area visualizzabile del controllo.
ScrollItem IScrollItemProvider IUIAutomationScrollItemPattern Utilizzato per i controlli con elementi singoli in una lista che scorre, ad esempio, un controllo lista in un controllo casella combinata.
selezione ISelectionProvider IUIAutomationSelectionPattern Usato per controlli di contenitori di selezione, come ad esempio le caselle di riepilogo e le caselle combinate.
SelectionItem ISelectionItemProvider IUIAutomationSelectionItemPattern Utilizzato per elementi singoli nei controlli di selezione del contenitore, come le caselle di riepilogo e le caselle combinate.
foglio di calcolo ISpreadsheetProvider IUIAutomationSpreadsheetPattern Utilizzato per esporre il contenuto di un foglio di calcolo o di un altro documento basato su griglia. I controlli che implementano il modello di controllo Foglio di calcolo devono implementare anche il modello di controllo Griglia.
SpreadsheetItem ISpreadsheetItemProvider IUIAutomationSpreadsheetItemPattern Utilizzato per esporre le proprietà di una cella in un foglio di calcolo o in un altro documento basato su griglia. I controlli che implementano il pattern di controllo SpreadsheetItem devono implementare anche il pattern di controllo GridItem.
stili IStylesProvider IUIAutomationStylesPattern Utilizzato per descrivere un elemento dell'interfaccia utente con uno stile, un colore di riempimento, un motivo di riempimento o una forma specifici.
InputSincronizzato ISynchronizedInputProvider IUIAutomationSynchronizedInputPattern Utilizzato per i controlli che accettano input da tastiera o mouse.
tabella ITableProvider IUIAutomationTablePattern Usato per i controlli con informazioni sulla griglia e sull'intestazione.
elementoTabella ITableItemProvider IUIAutomationTableItemPattern Utilizzato per gli elementi di una tabella.
testo ITextProvider IUIAutomationTextPattern Utilizzato per modificare controlli e documenti che espongono informazioni testuali.
TextEdit ITextEditProvider IUIAutomationTextEditPattern Usato per i controlli di modifica che modificano il testo a livello di codice, ad esempio un controllo che esegue la correzione automatica o abilita la composizione di input.
TextChild ITextChildProvider IUIAutomationTextChildPattern Utilizzato per accedere al predecessore più vicino di un elemento che supporta il pattern di controllo Text.
IntervalloTesto ITextRangeProvider IUIAutomationTextRange Utilizzato per recuperare contenuto testuale, attributi di testo e oggetti incorporati da controlli basati su testo, ad esempio controlli di modifica e documenti.
Attiva/Disattiva IToggleProvider IUIAutomationTogglePattern Usato per i controlli in cui è possibile attivare o disattivare lo stato, ad esempio caselle di controllo e voci di menu selezionabili.
Trasforma ITransformProvider IUIAutomationTransformPattern Utilizzato per i controlli che possono essere ridimensionati, spostati e ruotati. Gli usi tipici per il pattern di controllo Transform si trovano in finestre di progettazione, moduli, editor grafici e applicazioni di disegno.
valore IValueProvider IUIAutomationValuePattern Usato per i controlli con un valore che non si trova all'interno di un intervallo specificato, ad esempio una selezione data/ora.
ElementoVirtualizzato IVirtualizedItemProvider IUIAutomationVirtualizedItemPattern Usato per i controlli che funzionano con gli elementi in un elenco virtuale.
finestra IWindowProvider IUIAutomationWindowPattern Utilizzato per le finestre. Esempi sono le finestre dell'applicazione di primo livello, le finestre figlio MDI (Multiple Document Interface) e le finestre di dialogo.

 

concettuale

Implementazione di modelli di controllo di automazione interfaccia utente

Mappatura dei Modelli di Controllo per i Client di Automazione dell'Interfaccia Utente