Recuperando propriedades de elementos Automação da Interface do Usuário

As propriedades em objetos IUIAutomationElement contêm informações sobre elementos da interface do usuário, geralmente controles. As propriedades de um elemento são genéricas; ou seja, não específico para um tipo de controle. As propriedades específicas do controle de um elemento são expostas por suas interfaces de padrão de controle.

As propriedades do Microsoft Automação da Interface do Usuário são somente leitura. Para definir as propriedades de um controle, use os métodos do padrão de controle apropriado. Por exemplo, use IUIAutomationScrollPattern::Scroll para alterar os valores de posição de uma janela de rolagem.

Para melhorar o desempenho, os valores de propriedade de controles e padrões de controle podem ser armazenados em cache quando os elementos são recuperados. Para obter mais informações, consulte Armazenando em cache Automação da Interface do Usuário propriedades e padrões de controle.

Este tópico inclui as seções a seguir.

IDs de propriedade

Identificadores de propriedade são definidos em Uiautomationclient.h. Eles são usados para especificar propriedades quando você assina eventos alterados de propriedade, recupera valores de propriedade e constrói condições de propriedade. Os identificadores de propriedade também identificam a propriedade que foi alterada quando IUIAutomationPropertyChangedEventHandler::HandlePropertyChangedEvent é chamada.

Para obter uma lista de identificadores de propriedade Automação da Interface do Usuário, consulte Identificadores de propriedade.

Condições da propriedade

As IDs de propriedade são usadas na construção de objetos IUIAutomationPropertyCondition que são usados para localizar elementos Automação da Interface do Usuário. Por exemplo, talvez você queira encontrar um elemento que tenha um determinado nome ou todos os controles habilitados. Cada condição de propriedade especifica um identificador de propriedade e o valor que a propriedade deve corresponder.

Para obter mais informações, confira os seguintes tópicos de referência:

Recuperando propriedades

Algumas propriedades genéricas e todas as propriedades de padrão de controle estão disponíveis como propriedades na interface IUIAutomationElement ou padrão de controle e podem ser recuperadas usando um acessador, como IUIAutomationElement::CurrentName ou CachedDockPosition.

Além disso, qualquer propriedade atual ou armazenada em cache (diferente das propriedades do padrão de controle) pode ser recuperada usando um dos seguintes métodos:

Esses métodos oferecem um desempenho e acesso ligeiramente melhores à gama completa de propriedades. No entanto, os valores são retornados em estruturas VARIANT , enquanto os acessadores de propriedade individuais convertem o valor para o tipo apropriado.

Valores de propriedade padrão

Se um provedor de Automação da Interface do Usuário não implementar uma propriedade, Automação da Interface do Usuário poderá fornecer um valor padrão. Por exemplo, se o provedor de um controle não der suporte à propriedade identificada por UIA_HelpTextPropertyId, Automação da Interface do Usuário retornará uma cadeia de caracteres vazia. Da mesma forma, se o provedor não der suporte à propriedade identificada por UIA_IsDockPatternAvailablePropertyId, Automação da Interface do Usuário retornará FALSE.

A diferença entre IUIAutomationElement::GetCurrentPropertyValue e GetCurrentPropertyValueEx (e entre pares semelhantes de métodos) é que o método "Ex" pode especificar que nenhum valor padrão deve ser retornado. Nesse caso, o valor retornado é uma constante exclusiva especial, indicando que a propriedade não tem suporte. Ao receber esse valor, o aplicativo pode fornecer seu próprio valor ou simplesmente ignorar a propriedade .

Conceitual

Visão geral das propriedades de automação da interface do usuário

Identificadores de propriedade