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

Um padrão de controle é uma implementação de interface que expõe um aspecto específico da funcionalidade de um controle aos aplicativos cliente do Microsoft Automação da Interface do Usuário. Os clientes usam as propriedades e os métodos expostos por meio de um padrão de controle para recuperar informações sobre uma funcionalidade específica do controle ou para manipular um aspecto específico do comportamento do controle. Por exemplo, um controle que apresenta uma interface tabular usa o padrão de controle Grid para expor o número de linhas e colunas na tabela e para permitir que um cliente recupere itens da tabela.

Automação da Interface do Usuário usa padrões de controle para representar comportamentos de controle comuns. Por exemplo, você usa o padrão de controle Invoke para controles que podem ser invocados, como botões, e o padrão de controle Scroll para controles que têm barras de rolagem, como caixas de listagem, exibições de lista ou caixas de combinação. Como cada padrão de controle representa uma funcionalidade separada, os padrões de controle podem ser combinados para descrever o conjunto completo de funcionalidades com suporte de um controle específico.

Observação

Um controle de agregação é criado com controles filho que fornecem a interface do usuário para a funcionalidade exposta pelo pai, e o pai deve implementar todos os padrões de controle que normalmente estão associados a seus controles filho. Por sua vez, esses mesmos padrões de controle não são necessários para serem implementados pelos controles filho.

 

Este tópico contém as seguintes seções:

Componentes de padrão de controle Automação da Interface do Usuário

Os padrões de controle dão suporte a métodos, propriedades, eventos e relações que são necessários para definir uma parte discreta da funcionalidade disponível em um controle.

  • Os métodos permitem que Automação da Interface do Usuário clientes manipulem o controle.
  • As propriedades e os eventos fornecem informações sobre a funcionalidade e o estado do controle.
  • A relação entre um elemento Automação da Interface do Usuário e seu pai, filhos e irmãos descreve a estrutura do elemento na árvore Automação da Interface do Usuário.

Os padrões de controle estão relacionados a controles semelhantes à maneira como as interfaces se relacionam com objetos COM (Component Object Model). No COM, você pode consultar um objeto para perguntar quais interfaces ele dá suporte e, em seguida, usar essas interfaces para acessar a funcionalidade. Em Automação da Interface do Usuário, os clientes podem perguntar a um controle quais padrões de controle ele dá suporte e, em seguida, interagir com o controle por meio das propriedades, métodos, eventos e estruturas expostas pelos padrões de controle com suporte.

Padrões de controle em provedores e clientes

Automação da Interface do Usuário provedores implementam interfaces de padrão de controle para expor o comportamento apropriado para uma funcionalidade específica com suporte do controle. Essas interfaces não são expostas diretamente aos clientes, mas são usadas pelo núcleo Automação da Interface do Usuário para implementar outro conjunto de interfaces de cliente. Por exemplo, um provedor expõe a funcionalidade de rolagem para Automação da Interface do Usuário por meio de IScrollProvider e Automação da Interface do Usuário expõe a funcionalidade aos clientes por meio de IUIAutomationScrollPattern.

Padrões de controle dinâmico

Alguns controles nem sempre dão suporte ao mesmo conjunto de padrões de controle. Por exemplo, um controle de edição de várias linhas habilita a rolagem vertical somente quando contém mais linhas de texto do que pode ser exibido em sua área visível. A rolagem é desabilitada quando o texto suficiente é removido para que a rolagem não seja mais necessária. Para este exemplo, há suporte dinâmico para IUIAutomationScrollPattern , dependendo da quantidade de texto na caixa de edição.

A tabela a seguir descreve os padrões do controle da Automação da Interface de Usuário. A tabela também lista as interfaces do provedor usadas para implementar os padrões de controle e as interfaces de cliente usadas para acessá-los.

Nome Interface do provedor Interface do cliente Descrição
Anotação IAnnotationProvider IUIAutomationAnnotationPattern Usado para expor as propriedades de uma anotação em um documento, por exemplo, comentários na margem que estão conectados ao texto do documento.
Doca IDockProvider IUIAutomationDockPattern Usado para controles que podem ser encaixados em um contêiner de encaixe, por exemplo, barras de ferramentas ou paletas de ferramentas.
Arrastar IDragProvider IUIAutomationDragPattern Usado para oferecer suporte aos controles arrastáveis ou controles com itens arrastáveis.
DropTarget IDropTargetProvider IUIAutomationDropTargetPattern Usado para oferecer suporte aos controles podem ser o destino para uma operação de arrastar e soltar.
Expandcollapse IExpandCollapseProvider IUIAutomationExpandCollapsePattern Usado para controles que podem ser expandidos ou recolhidos, por exemplo, itens de menu em um aplicativo, como o menu Arquivo.
Grid IGridProvider IUIAutomationGridPattern Usado para controles que dão suporte à funcionalidade de grade, como dimensionamento e movimentação para uma célula especificada, por exemplo, a exibição de ícone grande no Windows Explorer ou tabelas simples no Microsoft Office Word.
GridItem IGridItemProvider IUIAutomationGridItemPattern Usado para controles que têm células em grades. As células individuais devem dar suporte ao padrão GridItem, por exemplo, cada célula no Windows Explorer exibição de detalhes.
Invoke IInvokeProvider IUIAutomationInvokePattern Usado para controles que podem ser invocados, como botões.
ItemContainer IItemContainerProvider IUIAutomationItemContainerPattern Usado para controles que podem conter outros itens.
LegacyIAccessible ILegacyIAccessibleProvider IUIAutomationLegacyIAccessiblePattern Usado para expor propriedades e métodos de Acessibilidade Ativa da Microsoft para Automação da Interface do Usuário clientes.
MultipleView IMultipleViewProvider IUIAutomationMultipleViewPattern Usado para controles que podem alternar entre várias representações do mesmo conjunto de informações, dados ou filhos, por exemplo, um controle de exibição de lista em que os dados estão disponíveis em miniatura, bloco, ícone, lista ou exibições de detalhes.
ObjectModel IObjectModelProvider IUIAutomationObjectModelPattern Usado para expor um ponteiro para o modelo de objeto subjacente de um documento. Esse padrão de controle permite que um cliente navegue de um elemento Automação da Interface do Usuário para o modelo de objeto subjacente.
RangeValue IRangeValueProvider IUIAutomationRangeValuePattern Usado para controles que têm um intervalo de valores. Por exemplo, um controle spinner que exibe anos pode ter um intervalo de 1900 a 2010, enquanto um controle giratório que exibe meses teria um intervalo de 1 a 12.
Rolar IScrollProvider IUIAutomationScrollPattern Usado para controles que podem rolar quando há mais informações do que podem ser exibidas na área visível do controle.
ScrollItem IScrollItemProvider IUIAutomationScrollItemPattern Usado para controles que têm itens individuais em uma lista que rola, por exemplo, um controle de lista em um controle de caixa de combinação.
Seleção ISelectionProvider IUIAutomationSelectionPattern Usado para controles de contêiner de seleção, por exemplo, caixas de listagem e caixas de combinação.
SelectionItem ISelectionItemProvider IUIAutomationSelectionItemPattern Usado para itens individuais nos controles do contêiner de seleção, como caixas de listagem e caixas de combinação.
Planilha ISpreadsheetProvider IUIAutomationSpreadsheetPattern Usado para expor o conteúdo de uma folha de cálculo ou de outro documento baseado em grade. Os controles que implementam o padrão de controle Planilha também devem implementar o padrão de controle Grade.
SpreadsheetItem ISpreadsheetItemProvider IUIAutomationSpreadsheetItemPattern Usado para expor as propriedades de uma célula em uma folha de cálculo ou outro documento baseado em grade. Os controles que implementam o padrão de controle SpreadsheetItem também devem implementar o padrão de controle GridItem.
Estilos IStylesProvider IUIAutomationStylesPattern Usado para descrever um elemento de interface do usuário que tem um estilo, cor de preenchimento, padrão de preenchimento ou forma específico.
SynchronizedInput ISynchronizedInputProvider IUIAutomationSynchronizedInputPattern Usado para controles que aceitam entrada de teclado ou mouse.
Tabela ITableProvider IUIAutomationTablePattern Usado para controles que têm uma grade e informações de cabeçalho.
TableItem ITableItemProvider IUIAutomationTableItemPattern Usado para itens em uma tabela.
Texto ITextProvider IUIAutomationTextPattern Usado para editar controles e documentos que exponham informações textuais.
TextEdit ITextEditProvider IUIAutomationTextEditPattern Usado para editar controles que modificam o texto programaticamente, por exemplo, um controle que executa a correção automática ou habilita a composição de entrada.
TextChild ITextChildProvider IUIAutomationTextChildPattern Usado para acessar o antecessor mais próximo de um elemento que suporta o padrão de controle Text.
TextRange ITextRangeProvider IUIAutomationTextRange Usado para recuperar conteúdo textual, atributos de texto e objetos inseridos de controles baseados em texto, como editar controles e documentos.
Alternar IToggleProvider IUIAutomationTogglePattern Usado para controles em que o estado pode ser alternado, por exemplo, marcar caixas e itens de menu verificáveis.
Transformar ITransformProvider IUIAutomationTransformPattern Usado para controles que podem ser redimensionados, transferidos e girados. O padrão de controle de transformação costuma ser usado em aplicativos de desenho, design, formulários e editores gráficos.
Valor IValueProvider IUIAutomationValuePattern Usado para controles que têm um valor que não está dentro de um intervalo especificado, por exemplo, um seletor de data e hora.
VirtualizedItem IVirtualizedItemProvider IUIAutomationVirtualizedItemPattern Usado para controles que funcionam com itens em uma lista virtual.
Window IWindowProvider IUIAutomationWindowPattern Usado para janelas. Exemplos são janelas de aplicativos de nível superior, janelas filho MDI (interface MDI) e caixas de diálogo.

 

Conceitual

Implementando padrões de controle de Automação da Interface do Usuário

Mapeamento de Padrão de Controles para Clientes de Automação de IU