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

Os provedores do Microsoft Automação da Interface do Usuário expõem propriedades em elementos Automação da Interface do Usuário. As propriedades permitem que os aplicativos cliente recuperem informações sobre controles.

Automação da Interface do Usuário expõe dois tipos diferentes de propriedades: propriedades de elemento de automação e adequadas para padrões de controle. As propriedades do elemento de automação consistem em um conjunto comum de propriedades, como Name, AcceleratorKey e ClassName, que são expostas por todos os elementos Automação da Interface do Usuário, independentemente do tipo de controle. A maioria das propriedades do elemento de automação são valores estáticos.

As propriedades de padrão de controle são aquelas expostas por um controle que dá suporte a um padrão de controle específico. Cada padrão de controle tem um conjunto correspondente de propriedades de padrão de controle que o controle deve expor. Por exemplo, um controle que dá suporte ao padrão de controle Grid expõe as propriedades ColumnCount e RowCount. A maioria das propriedades de padrão de controle são valores dinâmicos.

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

Identificadores de propriedade

Cada propriedade é identificada por um valor numérico PROPERTYID chamado ID ( identificador de propriedade ). Provedores e clientes usam as IDs numéricas em chamadas de método como IRawElementProviderAdviseEvents::AdviseEventAdded e IUIAutomationElement::GetCachedPropertyValue para identificar solicitações de propriedade. Para obter uma descrição detalhada de cada identificador de propriedade Automação da Interface do Usuário, incluindo o tipo de dados e o valor padrão de cada propriedade, consulte Identificadores de propriedade.

Valores da propriedade

Todas as propriedades são somente leitura, embora algumas possam ser alteradas usando métodos que atuam no controle, como IDockProvider::SetDockPosition (provedor) ou IUIAutomationDockPattern::SetDockPosition (cliente).

Para obter informações sobre como recuperar valores de propriedade, consulte Recuperando propriedades de elementos Automação da Interface do Usuário.

Propriedades e eventos

Intimamente associado às propriedades em Automação da Interface do Usuário é o conceito de eventos alterados pela propriedade. Para propriedades dinâmicas, um aplicativo cliente precisa de uma maneira de saber que um valor de propriedade foi alterado, para que ele possa atualizar seu cache de informações ou reagir às novas informações de alguma outra maneira. Os clientes podem se registrar para escutar eventos alterados por propriedade em qualquer propriedade.

Os provedores geram eventos quando algo na interface do usuário é alterado. Por exemplo, se uma caixa de marcar for selecionada ou desmarcada, um evento alterado pela propriedade será gerado pela implementação do provedor do padrão de controle De alternância. Os provedores podem gerar eventos seletivamente, dependendo se algum cliente está escutando eventos ou escutando eventos específicos.

Nem todas as alterações de propriedade geram eventos; isso depende inteiramente da implementação do provedor de Automação da Interface do Usuário para o elemento. Por exemplo, os provedores de proxy padrão para caixas de listagem não geram um evento alterado pela propriedade quando a propriedade Selection é alterada. Nesse caso, o aplicativo deve escutar o evento gerado quando a seleção for alterada (UIA_SelectionItem_ElementSelectedEventId).

Os clientes escutam eventos assinando-os, conforme descrito em Assinando eventos de Automação da Interface do Usuário. Para eventos alterados pela propriedade em particular, os clientes devem implementar IUIAutomationPropertyChangedEventHandler e passar a interface para IUIAutomation::AddPropertyChangedEventHandler ou IUIAutomation::AddPropertyChangedEventHandlerNativeArray.

Referência

Getcurrentpropertyvalue

GetCurrentPropertyValueEx

Getcachedpropertyvalue

GetCachedPropertyValueEx

Conceitual

Visão Geral de Padrões de Controle de Automação de Interface de Usuário

Visão Geral dos Tipos de Controle de Automação de Interface do Usuário

Visão geral sobre eventos de automação de interface do usuário