Cenni preliminari sulle proprietà di automazione interfaccia utente
I provider di Automazione interfaccia utente Microsoft espongono 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à degli elementi di automazione e proprietà del pattern di controllo. 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 pattern di controllo sono quelle esposte da un controllo che supporta un pattern di controllo specifico. Ogni pattern di controllo ha un set corrispondente di proprietà del pattern di controllo che il controllo deve esporre. Ad esempio, un controllo che supporta il pattern di controllo Grid espone le proprietà ColumnCount e RowCount. La maggior parte delle proprietà del pattern di controllo sono valori dinamici.
Questo argomento include 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, inclusi il tipo di dati e il valore predefinito di ogni proprietà, vedere Identificatori di proprietà.
Valori delle proprietà
Tutte le proprietà sono di sola lettura, anche se alcune possono essere modificate 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 di proprietà da Automazione interfaccia utente elementi.
Proprietà ed eventi
Strettamente associato alle proprietà in Automazione interfaccia utente è il concetto di eventi modificati dalle proprietà. Per le proprietà dinamiche, un'applicazione client richiede un modo per sapere che un valore della proprietà è stato modificato, in modo che possa aggiornare la cache delle informazioni o reagire in altro modo alle nuove informazioni. I client possono registrarsi per restare in ascolto degli eventi modificati dalla proprietà in qualsiasi proprietà.
I provider generano eventi quando vengono apportate modifiche all'interfaccia utente. Ad esempio, se una casella di controllo è selezionata o deselezionata, viene generato un evento di modifica della proprietà dall'implementazione del provider del pattern di controllo Toggle . 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 di modifica della proprietà quando la proprietà Selection viene modificata. In questo caso, l'applicazione deve restare in ascolto dell'evento generato quando la selezione cambia (UIA_SelectionItem_ElementSelectedEventId).
I client restare in ascolto degli eventi sottoscrivendoli, come descritto in Sottoscrizione agli 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.
Argomenti correlati
-
Riferimento
-
Concettuale
-
Panoramica dei pattern di controllo per l'automazione interfaccia utente
-
Panoramica dei tipi di controllo per l'automazione interfaccia utente