Cenni preliminari sulle proprietà di automazione interfaccia utente

I provider di Automazione interfaccia utente Microsoft espongono le proprietà sugli elementi Automazione interfaccia utente. Le proprietà consentono alle applicazioni client di recuperare informazioni sui controlli.

Automazione interfaccia utente espone due tipi diversi di proprietà: proprietà dell'elemento di automazione e criteri di controllo appropriati. Le proprietà dell'elemento di automazione sono costituite da un set comune di proprietà, ad esempio Name, AcceleratorKey e ClassName, esposte da tutti gli elementi Automazione interfaccia utente, indipendentemente dal tipo di controllo. La maggior parte delle proprietà degli elementi di automazione sono valori statici.

Le proprietà del modello di controllo sono quelle esposte da un controllo che supporta un modello di controllo specifico. Ogni modello di controllo ha un set corrispondente di proprietà del modello di controllo che il controllo deve esporre. Ad esempio, un controllo che supporta il modello di controllo Grid espone le proprietà ColumnCount e RowCount. La maggior parte delle proprietà del modello di controllo sono valori dinamici.

In questo argomento sono contenute le sezioni seguenti.

Identificatori di proprietà

Ogni proprietà viene identificata da un valore numerico PROPERTYID denominato identificatore di proprietà (ID). I provider e i client usano gli ID numerici nelle chiamate al metodo, ad esempio IRawElementProviderAdviseEvents::AdviseEventAdded e IUIAutomationElement::GetCachedPropertyValue per identificare le richieste di proprietà. Per una descrizione dettagliata di ogni identificatore di proprietà Automazione interfaccia utente, incluso il tipo di dati e il valore predefinito di ogni proprietà, vedere Identificatori di proprietà.

Valori della proprietà

Tutte le proprietà sono di sola lettura, anche se alcuni possono essere modificati usando metodi che agiscono sul controllo, ad esempio IDockProvider::SetDockPosition (provider) o IUIAutomationDockPattern::SetDockPosition (client).

Per informazioni sul recupero dei valori delle proprietà, vedere Recupero delle proprietà da elementi Automazione interfaccia utente.

Proprietà ed eventi

Strettamente associato alle proprietà in Automazione interfaccia utente è il concetto di eventi modificati dalla proprietà. Per le proprietà dinamiche, un'applicazione client richiede un modo per sapere che un valore della proprietà è cambiato, in modo che possa aggiornare la cache delle informazioni o reagire alle nuove informazioni in un altro modo. I client possono registrarsi per ascoltare gli eventi modificati dalla proprietà in qualsiasi proprietà.

I provider generano eventi quando cambia qualcosa nell'interfaccia utente. Ad esempio, se viene selezionata o deselezionata una casella di controllo, viene generato un evento modificato dalla proprietà dall'implementazione del provider del modello di controllo Attiva attivazione . I provider possono generare gli eventi in modo selettivo, a seconda che i client siano in ascolto di eventi oppure di eventi specifici.

Non tutte le modifiche di proprietà generano eventi. Questo dipende totalmente dall'implementazione del provider di automazione interfaccia utente per l'elemento. Ad esempio, i provider proxy standard per le caselle di riepilogo non generano un evento modificato dalla proprietà quando la proprietà Selection cambia. In questo caso, l'applicazione deve ascoltare l'evento generato quando la selezione cambia (UIA_SelectionItem_ElementSelectedEventId).

I client ascoltano gli eventi sottoscrivendoli, come descritto in Sottoscrizione a eventi Automazione interfaccia utente. Per gli eventi modificati dalle proprietà in particolare, i client devono implementare IUIAutomationPropertyChangedEventHandler e passare l'interfaccia a IUIAutomation::AddPropertyChangedEventHandler o IUIAutomation::AddPropertyChangedEventHandlerNativeArray.

Riferimento

Getcurrentpropertyvalue

GetCurrentPropertyValueEx

Getcachedpropertyvalue

GetCachedPropertyValueEx

Informazioni concettuali

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

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

Cenni preliminari sugli eventi di automazione interfaccia utente