Recupero delle proprietà dagli elementi di automazione interfaccia utente
Le proprietà di IUIAutomationElement oggetti contengono informazioni sugli elementi dell'interfaccia utente, in genere controlli. Le proprietà di un elemento sono generiche; ovvero, non specifico di un tipo di controllo. Le proprietà specifiche del controllo di un elemento vengono esposte dalle interfacce del pattern di controllo.
Le proprietà di Automazione dell'interfaccia utente di Microsoft sono di sola lettura. Per impostare le proprietà di un controllo, è necessario utilizzare i metodi del pattern di controllo appropriato. Ad esempio, usare IUIAutomationScrollPattern::Scroll per modificare i valori di posizione di una finestra di scorrimento.
Per migliorare le prestazioni, i valori delle proprietà dei controlli e dei pattern di controllo possono essere memorizzati nella cache quando vengono recuperati gli elementi. Per ulteriori informazioni, vedere memorizzazione nella cache delle proprietà di automazione dell'interfaccia utente e dei modelli di controllo.
Questo argomento contiene le sezioni seguenti.
- ID di proprietà
- condizioni delle proprietà
- recupero delle proprietà
- Valori predefiniti delle proprietà
- argomenti correlati
ID proprietà
Gli identificatori di proprietà sono definiti in Uiautomationclient.h. Vengono usati per specificare le proprietà quando si sottoscrivono eventi di modifica delle proprietà, si recuperano i valori delle proprietà e si creano condizioni delle proprietà. Gli identificatori di proprietà identificano anche la proprietà modificata quando viene chiamato IUIAutomationPropertyChangedEventHandler::HandlePropertyChangedEvent.
Per un elenco degli identificatori di proprietà di UI Automation, vedi Property Identifiers.
Condizioni delle proprietà
Gli ID delle proprietà vengono utilizzati per costruire oggetti IUIAutomationPropertyCondition che vengono usati per trovare gli elementi di automazione dell'interfaccia utente. Ad esempio, potrebbe essere necessario trovare un elemento con un determinato nome o tutti i controlli abilitati. Ogni condizione della proprietà specifica un identificatore di proprietà e il valore che la proprietà deve corrispondere.
Per altre informazioni, vedere gli argomenti di riferimento seguenti:
- IUIAutomation::CreatePropertyCondition
- IUIAutomation::CreatePropertyConditionEx
- IUIAutomationElement::FindFirst
- IUIAutomationElement::FindAll
Recupero delle proprietà
Alcune proprietà generiche e tutte le proprietà dell'interfaccia del pattern di controllo sono disponibili come proprietà sull'interfaccia IUIAutomationElement o sull'interfaccia del pattern di controllo e possono essere recuperate tramite una funzione di accesso, ad esempio IUIAutomationElement::CurrentName o CachedDockPosition.
Inoltre, qualsiasi proprietà corrente o memorizzata nella cache (diversa dalle proprietà del pattern di controllo) può essere recuperata usando uno dei metodi seguenti:
Questi metodi offrono prestazioni leggermente migliori e l'accesso all'intera gamma di proprietà. Tuttavia, i valori vengono restituiti nelle strutture VARIANT, mentre le singole forme di accesso alle proprietà eseguono il cast del valore al tipo appropriato.
Valori delle proprietà predefinite
Se un provider di automazione interfaccia utente non implementa una proprietà, Automazione interfaccia utente può fornire un valore predefinito. Ad esempio, se il provider per un controllo non supporta la proprietà identificata da UIA_HelpTextPropertyId, Automazione interfaccia utente restituisce una stringa vuota. Analogamente, se il provider non supporta la proprietà identificata da UIA_IsDockPatternAvailablePropertyId, UI Automation restituisce FALSE.
La differenza tra IUIAutomationElement::GetCurrentPropertyValue e GetCurrentPropertyValueEx (e tra coppie simili di metodi) è che il metodo "Ex" può specificare che non deve essere restituito alcun valore predefinito. In questo caso, il valore restituito è una costante univoca speciale che indica che la proprietà non è supportata. Quando si riceve questo valore, l'applicazione può fornire il proprio valore o semplicemente ignorare la proprietà .
Argomenti correlati