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 interfaccia utente
- Modelli di Controllo nei Provider e nei Client
- modelli di controllo dinamici
- modelli di controllo e interfacce correlate
- argomenti correlati
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.
Schemi di controllo e interfacce correlate
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. |
Argomenti correlati
-
concettuale
-
Implementazione di modelli di controllo di automazione interfaccia utente
-
Mappatura dei Modelli di Controllo per i Client di Automazione dell'Interfaccia Utente