Partilhar via


Visão geral dos padrões de controle de automação da interface do usuário

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

A 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 com barras de rolagem, como caixas de listagem, modos de exibição 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 suportadas por um controle específico.

Observação

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

 

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

Componentes do padrão de controle de automação da interface do usuário

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

  • Os métodos permitem que os clientes de automação da interface do usuário manipulem o controle.
  • As propriedades e eventos fornecem informações sobre a funcionalidade e o estado do controle.
  • A relação entre um elemento de Automação da Interface do Usuário e seus pais, filhos e irmãos descreve a estrutura do elemento na árvore de 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). Em COM, você pode consultar um objeto para perguntar quais interfaces ele suporta e, em seguida, usar essas interfaces para acessar a funcionalidade. Na Automação da Interface do Usuário, os clientes podem perguntar a um controle quais padrões de controle ele suporta e, em seguida, interagir com o controle por meio das propriedades, métodos, eventos e estruturas expostos pelos padrões de controle suportados.

Padrões de Controle em Provedores e Clientes

Os provedores de automação da interface do usuário implementam interfaces de padrão de controle para expor o comportamento apropriado para uma parte específica da funcionalidade que é suportada pelo controle. Essas interfaces não são diretamente expostas aos clientes, mas são usadas pelo núcleo de 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 à Automação da Interface do Usuário através de IScrollProvider , e a Automação da Interface do Usuário expõe essa funcionalidade aos clientes através de IUIAutomationScrollPattern .

Padrões de controle dinâmico

Alguns controles nem sempre suportam o mesmo conjunto de padrões de controle. Por exemplo, um controle de edição de várias linhas permite a rolagem vertical somente quando contém mais linhas de texto do que pode ser exibido em sua área visível. A rolagem é desativada quando texto suficiente é removido para que a rolagem não seja mais necessária. Neste exemplo, IUIAutomationScrollPattern é suportado dinamicamente, dependendo da quantidade de texto na caixa de edição.

A tabela a seguir descreve os padrões de controle de automação da interface do usuário. A tabela também lista as interfaces de 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.
Arraste IDragProvider IUIAutomationDragPattern Usado para suportar controles arrastáveis ou controles com itens arrastáveis.
DropTarget IDropTargetProvider IUIAutomationDropTargetPattern Usado para suportar controles que podem ser o alvo de uma operação de arrastar e soltar.
ExpandirRecolher 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 em controlos que suportam funções de grelha, como redimensionar e mover para uma célula específica, por exemplo, a vista de ícones grandes no Windows Explorer ou tabelas simples no Microsoft Office Word.
ItemDeGrelha IGridItemProvider IUIAutomationGridItemPattern Usado para controles que têm células em grades. As células individuais devem suportar o padrão GridItem, por exemplo, cada célula na vista de detalhes do Explorador do Windows.
Invoque 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 do Microsoft Ative Accessibility para clientes de automação da interface do usuário.
Vista Múltipla IMultipleViewProvider IUIAutomationMultipleViewPattern Usado para controlos que podem alternar entre várias representações do mesmo conjunto de informações, dados ou elementos, por exemplo, um controlo de visualização de lista onde os dados estão disponíveis em miniatura, bloco, ícone, lista ou vista de detalhes.
ModeloDeObjeto IObjectModelProvider IUIAutomationObjectModelPattern Usado para expor um ponteiro ao modelo de objeto subjacente de um documento. Esse padrão de controle permite que um cliente navegue de um elemento de automação da interface do usuário para o modelo de objeto subjacente.
ValorDoIntervalo IRangeValueProvider IUIAutomationRangeValuePattern Usado para controles que têm um intervalo de valores. Por exemplo, um controle de rotador que exibe anos pode ter um intervalo de 1900 a 2010, enquanto um controle de rotador que exibe meses teria um intervalo de 1 a 12.
Deslizar IScrollProvider IUIAutomationScrollPattern Usado para controles que podem rolar quando há mais informações do que podem ser exibidas na área visível do controle.
Item de Rolagem 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.
ItemDeSeleção ISelectionItemProvider IUIAutomationSelectionItemPattern Usado para itens individuais em controles de 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 planilha ou outro documento baseado em grade. Os controles que implementam o padrão de controle Planilha também devem implementar o padrão de controle Grid.
SpreadsheetItem ISpreadsheetItemProvider IUIAutomationSpreadsheetItemPattern Usado para expor as propriedades de uma célula em uma planilha 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 da interface do usuário que tem um estilo, cor de preenchimento, padrão de preenchimento ou forma específicos.
EntradaSincronizada 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 numa tabela.
Texto ITextProvider IUIAutomationTextPattern Usado para editar controles e documentos que expõem informações textuais.
Editor de texto ITextEditProvider IUIAutomationTextEditPattern Usado para editar controles que modificam texto programaticamente, por exemplo, um controle que executa a correção automática ou permite a composição de entrada.
TextChild ITextChildProvider IUIAutomationTextChildPattern Usado para aceder ao ancestral mais próximo de um elemento que suporta o padrão de controlo de Texto.
TextRange ITextRangeProvider IUIAutomationTextRange Usado para recuperar conteúdo textual, atributos de texto e objetos incorporados de controles baseados em texto, como controles de edição e documentos.
Alternar IToggleProvider IUIAutomationTogglePattern Usado para controles onde o estado pode ser alternado, por exemplo, caixas de seleção e itens de menu selecionáveis.
Transforme ITransformProvider IUIAutomationTransformPattern Usado para controles que podem ser redimensionados, movidos e girados. Os usos típicos para o padrão de controle Transform são em designers, formulários, editores gráficos e aplicativos de desenho.
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.
ItemVirtualizado IVirtualizedItemProvider IUIAutomationVirtualizedItemPattern Usado para controles que funcionam com itens em uma lista virtual.
Janela IWindowProvider IUIAutomationWindowPattern Usado para janelas. Exemplos são janelas de aplicativos de nível superior, janelas filhas de interface de vários documentos (MDI) e caixas de diálogo.

 

Conceptual

Implementando padrões de controle de automação da interface do usuário

Mapeamento de padrões de controle para clientes de automação da interface do usuário