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

Un pattern di controllo è un'implementazione dell'interfaccia che espone un particolare aspetto della funzionalità di un controllo alle applicazioni client di Microsoft Automazione interfaccia utente. 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 consentire a un client di recuperare elementi dalla tabella.

Automazione interfaccia utente usa i pattern di controllo per rappresentare comportamenti di controllo comuni. Ad esempio, si usa il pattern di controllo Invoke 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 determinato controllo.

Nota

Un controllo aggregato viene compilato con controlli figlio che forniscono l'interfaccia utente per le funzionalità esposte dall'elemento padre e l'elemento padre deve implementare tutti i pattern di controllo che in genere sono associati ai controlli figlio. Per contro questi stessi modelli di controllo non devono essere implementati dai controlli figlio.

 

In questo argomento sono incluse le sezioni seguenti:

Componenti del pattern di controllo di automazione 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 Automazione interfaccia utente e il relativo elemento padre, figlio e elementi di pari livello descrive la struttura degli elementi nell'albero Automazione 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 i pattern di controllo supportati 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

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

Pattern di controllo dinamici

Alcuni controlli non supportano sempre lo stesso set di pattern di controllo. Ad esempio, un controllo di modifica su più righe abilita lo scorrimento verticale solo quando contiene più righe di testo rispetto a quanto può essere visualizzato nell'area visualizzabile. Lo scorrimento è disabilitato quando viene rimossa una quantità di testo sufficiente da rendere superfluo lo scorrimento. Per questo esempio , IUIAutomationScrollPattern è supportato in modo dinamico, a seconda della quantità di testo presente nella casella di modifica.

Nella tabella seguente vengono descritti i pattern di controllo 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 del 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.
Ancora IDockProvider IUIAutomationDockPattern Usato per i controlli che possono essere ancorati in un contenitore di ancoraggio, ad esempio barre degli strumenti o tavolozze degli strumenti.
Trascinamento IDragProvider IUIAutomationDragPattern Usato per supportare controlli trascinabili o controlli con elementi trascinabili.
DropTarget IDropTargetProvider IUIAutomationDropTargetPattern Usato per supportare controlli che possono essere la destinazione di un'operazione di trascinamento.
Expandcollapse 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.
Pannello Grid IGridProvider IUIAutomationGridPattern Usato per i controlli che supportano la funzionalità della griglia, ad esempio il ridimensionamento e lo spostamento in una cella specificata, ad esempio la visualizzazione icona di grandi dimensioni in Esplora risorse o 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 dei dettagli di Esplora risorse.
Invoke IInvokeProvider IUIAutomationInvokePattern Usato per i controlli che possono essere richiamati, ad esempio i pulsanti.
ItemContainer IItemContainerProvider IUIAutomationItemContainerPattern Usato 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 interfaccia utente.
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 visualizzazione elenco in cui i dati sono disponibili nelle visualizzazioni anteprima, riquadro, icona, elenco o dettagli.
ObjectModel IObjectModelProvider IUIAutomationObjectModelPattern Usato per esporre un puntatore nel modello di oggetto sottostante di un documento. Questo pattern di controllo consente a un client di spostarsi da un elemento Automazione interfaccia utente al modello a oggetti sottostante.
RangeValue IRangeValueProvider IUIAutomationRangeValuePattern Usato per i controlli con un intervallo di valori. Ad esempio, un controllo selezione che visualizza 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.
Scorrimento IScrollProvider IUIAutomationScrollPattern Usato 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 singoli elementi in un elenco che scorre, ad esempio, un controllo elenco in un controllo casella combinata.
Selezione ISelectionProvider IUIAutomationSelectionPattern Usato per i controlli contenitore di selezione, ad esempio caselle di riepilogo e caselle combinate.
SelectionItem ISelectionItemProvider IUIAutomationSelectionItemPattern Usata per i singoli elementi nei controlli contenitore di selezione, ad esempio caselle di riepilogo e caselle combinate.
Foglio di calcolo ISpreadsheetProvider IUIAutomationSpreadsheetPattern Usato per esporre i contenuti di un foglio di calcolo o di un altro documento basato su una griglia. I controlli che implementano il pattern di controllo Foglio di calcolo devono implementare anche il pattern di controllo Grid.
SpreadsheetItem ISpreadsheetItemProvider IUIAutomationSpreadsheetItemPattern Usato per esporre le proprietà di una cella in un foglio di calcolo o in un altro documento basato su una griglia. I controlli che implementano il pattern di controllo SpreadsheetItem devono implementare anche il pattern di controllo GridItem.
Stili IStylesProvider IUIAutomationStylesPattern Usato per descrivere un elemento dell'interfaccia utente con stile, colore di riempimento, modello di riempimento o forma specifici.
SynchronizedInput ISynchronizedInputProvider IUIAutomationSynchronizedInputPattern Utilizzato per i controlli che accettano l'input da tastiera o mouse.
Tabella ITableProvider IUIAutomationTablePattern Usato per i controlli con informazioni su griglia e intestazione.
TableItem ITableItemProvider IUIAutomationTableItemPattern Usata per gli elementi in una tabella.
Text ITextProvider IUIAutomationTextPattern Usata per i controlli di modifica e i 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 Usato per accedere al predecessore più vicino di un elemento che supporta il pattern di controllo Text.
Textrange ITextRangeProvider IUIAutomationTextRange Usato per recuperare contenuto testuale, attributi di testo e oggetti incorporati da controlli basati su testo, ad esempio controlli di modifica e documenti.
Interruttore IToggleProvider IUIAutomationTogglePattern Usato per i controlli in cui è possibile attivare o disattivare lo stato, ad esempio caselle di controllo e voci di menu selezionabili.
Trasformare ITransformProvider IUIAutomationTransformPattern Usata per i controlli che è possibile ridimensionare, spostare e ruotare. Il pattern di controllo Transform viene in genere usato 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.
VirtualizedItem IVirtualizedItemProvider IUIAutomationVirtualizedItemPattern Usato per i controlli che funzionano con gli elementi in un elenco virtuale.
Window IWindowProvider IUIAutomationWindowPattern Usato per le finestre. Esempi sono le finestre dell'applicazione di primo livello, le finestre figlio MDI (Multiple-Document Interface) e le finestre di dialogo.

 

Informazioni concettuali

Implementazione di modelli di controllo di Automazione interfaccia utente

Mapping dei pattern di controllo per i client di automazione interfaccia utente