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 consente lo scorrimento verticale solo quando contiene più righe di testo di quelle che possono essere visualizzate 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 Windows Explorer 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 in Windows visualizzazione dettagli 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 modello di controllo consente a un client di passare 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 spinner che visualizza anni potrebbe avere un intervallo di 1900- 2010, mentre un controllo spinner che visualizza mesi avrebbe un intervallo di 1-12.
Scorrimento IScrollProvider IUIAutomationScrollPattern Usato per i controlli che possono scorrere quando sono presenti più informazioni che possono essere visualizzate nell'area visualizzabile del controllo.
ScrollItem IScrollItemProvider IUIAutomationScrollItemPattern Usato 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 modello di controllo Foglio di calcolo devono anche implementare il modello di controllo Griglia.
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 modello di controllo SpreadsheetItem devono implementare anche il modello 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 Usato per i controlli che accettano input da tastiera o mouse.
Tabella ITableProvider IUIAutomationTablePattern Usato per i controlli con informazioni sulla griglia e sull'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 modificare controlli e documenti.
Interruttore IToggleProvider IUIAutomationTogglePattern Usato per i controlli in cui è possibile attivare lo stato, ad esempio caselle di controllo e voci di menu controllabili.
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 usano elementi in un elenco virtuale.
Window IWindowProvider IUIAutomationWindowPattern Usato per le finestre. Gli esempi sono finestre dell'applicazione di primo livello, finestre figlio dell'interfaccia a più documenti e finestre di dialogo.

 

Informazioni concettuali

Implementazione di modelli di controllo Automazione interfaccia utente

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