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
- Padrões de controle em provedores e clientes
- Padrões de controle dinâmico
- Padrões de controle e interfaces relacionadas
- Tópicos relacionados
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.
Padrões de controle e interfaces relacionadas
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. |
Tópicos relacionados
-
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