Visão geral das propriedades de automação da interface do usuário
Os provedores de Automação da Interface do Usuário da Microsoft expõem propriedades em elementos de Automação da Interface do Usuário. As propriedades permitem que os aplicativos cliente recuperem informações sobre controles.
A Automação da Interface do Usuário expõe dois tipos diferentes de propriedades: propriedades do elemento de automação e propriedades do padrão 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 de 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 oferece 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 oferece suporte ao padrão de controle Grid expõe as propriedades ColumnCount e RowCount. A maioria das propriedades do 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 identificador de propriedade (ID). 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 de 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 de automação da interface do usuário.
Propriedades e eventos
Intimamente associado às propriedades na Automação da Interface do Usuário está o conceito de eventos alterados por 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 ouvir eventos de mudança de propriedade em qualquer propriedade.
Os provedores geram eventos quando algo na interface do usuário é alterado. Por exemplo, se uma caixa de seleção estiver marcada ou desmarcada, um evento de propriedade alterada será gerado pela implementação do provedor do padrão de controle Toggle . 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 de alteração de propriedade quando a propriedade Selection é alterada. Nesse caso, o aplicativo deve ouvir o evento gerado quando a seleção muda (UIA_SelectionItem_ElementSelectedEventId).
Os clientes escutam eventos inscrevendo-os, conforme descrito em Inscrevendo-se em Eventos de automação da interface do usuário. Para eventos de propriedade alterada em particular, os clientes devem implementar IUIAutomationPropertyChangedEventHandler e passar a interface para IUIAutomation::AddPropertyChangedEventHandler ou IUIAutomation::AddPropertyChangedEventHandlerNativeArray.
Tópicos relacionados
-
Referência
-
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