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
- Modelli di controllo nei provider e nei client
- Pattern di controllo dinamici
- Pattern di controllo e interfacce correlate
- Argomenti correlati
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.
Pattern di controllo e interfacce correlate
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. |
Argomenti correlati
-
Informazioni concettuali
-
Implementazione di modelli di controllo di Automazione interfaccia utente
-
Mapping dei pattern di controllo per i client di automazione interfaccia utente