Partilhar via


Tipo de controle TreeItem

Este tópico fornece informações sobre o suporte do Microsoft Automação da Interface do Usuário para o tipo de controle TreeItem.

O tipo de controle TreeItem representa um nó dentro de um contêiner de árvore. Cada nó no modo de exibição de árvore pode conter outros nós, chamados nós filho. Nós pais ou nós que contêm nós filhos, podem ser exibidos como expandidos ou recolhidos.

As seções a seguir definem a estrutura de árvore Automação da Interface do Usuário necessária, propriedades, padrões de controle e eventos para o tipo de controle TreeItem. Os requisitos de Automação da Interface do Usuário se aplicam a todos os controles de item de árvore em que a estrutura/plataforma da interface do usuário integra Automação da Interface do Usuário suporte para tipos de controle e padrões de controle.

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

Estrutura de árvore típica

A tabela a seguir ilustra um controle típico e uma exibição de conteúdo da árvore Automação da Interface do Usuário que pertence aos controles de item de árvore e descreve o que pode ser contido em cada exibição. Para obter mais informações sobre a árvore de Automação da Interface do Usuário, consulte Visão geral da árvore de Automação da Interface do Usuário.

Exibição de controle Exibição de conteúdo
  • TreeItem
    • CheckBox (0 ou 1)
    • Imagem (0 ou 1)
    • Botão (0 ou 1)
    • TreeItem (0 ou mais)
  • TreeItem
    • TreeItem (0 ou mais)

 

Os controles de item de árvore podem ter zero ou mais filhos de item de árvore na exibição de conteúdo da árvore Automação da Interface do Usuário. Se o controle de item de árvore tiver funcionalidade além do que é exposto nos padrões de controle listados abaixo, o controle deverá ser baseado no tipo de controle DataItem .

Os itens de árvore recolhidos não aparecem no modo de exibição de controle ou no modo de exibição de conteúdo até que sejam expandidos e visíveis (ou possam ser rolados para a exibição).

O modo de exibição de controle pode conter detalhes adicionais para um controle, incluindo uma imagem associada ou um botão. Por exemplo, um item em uma exibição de estrutura de tópicos pode conter uma imagem, bem como um botão para expandir ou recolher a estrutura de tópicos. Esses objetos de detalhes não aparecem na exibição de conteúdo porque as informações já são representadas pelo item de árvore pai.

Os itens de árvore que são rolados para fora da tela aparecem nas exibições de controle e conteúdo da árvore Automação da Interface do Usuário e devem ter a propriedade IUIAutomationElement::CurrentIsOffscreen (ou CachedIsOffscreen) definida como TRUE.

Propriedades relevantes

A tabela a seguir lista as propriedades Automação da Interface do Usuário cujo valor ou definição é especialmente relevante para o tipo de controle TreeItem. Para obter mais informações sobre Automação da Interface do Usuário propriedades, consulte Recuperando propriedades de elementos Automação da Interface do Usuário.

Propriedade de Automação da Interface do Usuário Valor Observações
UIA_AutomationIdPropertyId Veja as observações. O valor dessa propriedade deve ser exclusivo entre todos os elementos pares na exibição bruta da árvore Automação da Interface do Usuário.
UIA_BoundingRectanglePropertyId Veja as observações. O retângulo mais externo que contém todo o controle.
UIA_ClickablePointPropertyId Veja as observações. Essa propriedade deve retornar um local que faça com que o item de árvore altere o estado de seleção ou fique focado.
UIA_ControlTypePropertyId TreeItem Esse valor é o mesmo para todas as estruturas da IU.
UIA_IsContentElementPropertyId TRUE O controle de item de árvore sempre é incluído na exibição de conteúdo da árvore Automação da Interface do Usuário.
UIA_IsControlElementPropertyId TRUE O controle de item de árvore sempre está incluído na exibição de controle da árvore Automação da Interface do Usuário.
UIA_IsKeyboardFocusablePropertyId Veja as observações. Se o controle puder receber o foco do teclado, ele deverá dar suporte a essa propriedade.
UIA_IsOffscreenPropertyId Veja as observações. Essa propriedade indica se um controle de item de árvore é rolado para fora da tela.
UIA_ItemStatusPropertyId Veja as observações. Se o controle contiver status que está sendo atualizado dinamicamente, essa propriedade deverá ter suporte para que uma tecnologia adaptativa possa receber atualizações quando o status do elemento for alterado.
UIA_ItemTypePropertyId Veja as observações. Se o controle de item de árvore usa um ícone visual para indicar que é um tipo específico de item, essa propriedade deve ter suporte e deve indicar o tipo de item.
UIA_LabeledByPropertyId NULL Os controles de item de árvore são auto-rotulação.
UIA_LocalizedControlTypePropertyId Veja as observações. Cadeia de caracteres localizada correspondente ao tipo de controle TreeItem. O valor padrão é "item de árvore" para en-US ou inglês (Estados Unidos).
UIA_NamePropertyId Veja as observações. Essa propriedade expõe o texto exibido para cada controle de item de árvore.

 

Padrões de controle necessários

A tabela a seguir lista os padrões de controle de Automação da Interface do Usuário necessários para serem suportados por todos os controles de item de árvore. Para obter mais informações sobre padrões de controle, consulte Visão geral dos padrões de controle da Automação da Interface do Usuário.

Padrão de Controle/Propriedade do Padrão Suporte/Valor Observações
IExpandCollapseProvider Obrigatório Todos os itens de árvore devem dar suporte ao padrão de controle ExpandCollapse porque todos os itens podem ser expandidos ou recolhidos.
Expandcollapsestate Nó Expandido, Recolhido ou Folha Os itens de árvore são nós folha quando não são expandidos ou recolhidos.
IInvokeProvider Depende Implemente o padrão de controle Invoke se o item de árvore puder executar um comando.
IScrollItemProvider Depende Implemente o padrão de controle ScrollItem se o contêiner de árvore der suporte ao padrão de controle Scroll .
ISelectionItemProvider Depende Implemente o padrão de controle SelectionItem se for possível ter uma seleção ativa mantida quando o usuário retornar ao contêiner de árvore.
Selectioncontainer Obrigatório Essa propriedade expõe o mesmo contêiner para todos os itens dentro do contêiner.

 

Eventos obrigatórios

A tabela a seguir lista os eventos de Automação da Interface do Usuário aos quais os controles de item de árvore são necessários para dar suporte. Para mais informações sobre eventos, confira Visão geral de eventos de Automação da Interface do Usuário.

Evento de Automação da Interface do Usuário Observações
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId evento de alteração de propriedade.
UIA_ExpandCollapseExpandCollapseStatePropertyId evento de alteração de propriedade.
UIA_Invoke_InvokedEventId Se o controle der suporte ao padrão de controle Invoke , ele deverá dar suporte a esse evento.
UIA_IsEnabledPropertyId evento de alteração de propriedade. Se o controle der suporte à propriedade IsEnabled , ele deverá dar suporte a esse evento.
UIA_IsOffscreenPropertyId evento de alteração de propriedade. Se o controle der suporte à propriedade IsOffscreen , ele deverá dar suporte a esse evento.
UIA_ItemStatusPropertyId evento de alteração de propriedade. Se o controle der suporte à propriedade ItemStatus , ele deverá dar suporte a esse evento.
UIA_MultipleViewCurrentViewPropertyId evento de alteração de propriedade. Se o controle der suporte ao padrão de controle MultipleView , ele deverá dar suporte a esse evento.
UIA_NamePropertyId evento de alteração de propriedade.
UIA_SelectionItem_ElementAddedToSelectionEventId Se o controle der suporte ao padrão de controle SelectionItem , ele deverá dar suporte a esse evento.
UIA_SelectionItem_ElementRemovedFromSelectionEventId Se o controle der suporte ao padrão de controle SelectionItem , ele deverá dar suporte a esse evento.
UIA_SelectionItem_ElementSelectedEventId Se o controle der suporte ao padrão de controle SelectionItem , ele deverá dar suporte a esse evento.
UIA_StructureChangedEventId
UIA_ToggleToggleStatePropertyId evento de alteração de propriedade. Se o controle der suporte ao padrão de controle Desativar , ele deverá dar suporte a esse evento.
UIA_ValueValuePropertyId evento de alteração de propriedade. Se o controle der suporte ao padrão de controle Value , ele deverá dar suporte a esse evento.

 

Comentários

Se um item de árvore tiver subelementos diferentes de nós de estrutura de tópicos filho, o provedor deverá manipular as informações do objeto filho com cuidado e clareza. Em Automação da Interface do Usuário, a estrutura de árvore é manipulada pela própria hierarquia de árvore. Ao ter um ou mais filhos que não são de nó de estrutura de tópicos, as diferenças entre eles e os nós de estrutura de tópicos filho reais tornam-se seriamente ambíguas.

Conceitual

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

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