Compartilhar via


Padrão de controle ExpandCollapse

Descreve diretrizes e convenções para implementar IExpandCollapseProvider, incluindo informações sobre propriedades, métodos e eventos. O padrão de controle ExpandCollapse é usado para dar suporte a controles que se expandem visualmente para exibir mais conteúdo e recolher para ocultar o conteúdo.

Para obter exemplos de controles que implementam esse padrão de controle, consulte tipos de controle e seus padrões de controle com suporte.

Este tópico contém as seções a seguir.

Diretrizes e convenções de implementação

Ao implementar o padrão de controle ExpandCollapse, observe as seguintes diretrizes e convenções:

  • Os controles agregados, criados com objetos filho que fornecem a interface do usuário com funcionalidade de expansão/recolhimento, devem dar suporte ao padrão de controle ExpandCollapse, enquanto seus elementos filho não. Por exemplo, um controle de caixa de combinação é criado com uma combinação de caixa de listagem, botão e controles de edição, mas é apenas a caixa de combinação pai que deve dar suporte ao padrão de controle ExpandCollapse.

    Nota

    Uma exceção é o controle de menu, que é uma agregação de objetos de item de menu individuais. Os objetos de item de menu podem dar suporte ao padrão de controle ExpandCollapse, mas o controle de menu pai não pode. Uma exceção semelhante se aplica aos controles de árvore e item de árvore.

     

  • Quando o IExpandCollapseProvider::ExpandCollapseState de um controle é definido como ExpandCollapseState_LeafNode, qualquer funcionalidade de ExpandCollapse está inativa no momento para o controle e as únicas informações que podem ser obtidas usando esse padrão de controle são as ExpandCollapseState. Se algum objeto filho for adicionado posteriormente, o ExpandCollapseState alterações e funcionalidade de ExpandCollapse será ativada.

  • ExpandCollapseState refere-se apenas à visibilidade de objetos filho imediatos; não se refere à visibilidade de todos os objetos descendentes.

  • funcionalidade IExpandCollapseProvider::Expand e Collapse é específica do controle. Veja a seguir exemplos desse comportamento.

    • O Menu Pessoal do Office pode ser um item de menu de três estados ("Expandido", "Recolhido" e "ParcialmenteExpandado") em que o controle especifica o estado a ser adotado quando Expandir ou Recolher é chamado.
    • Chamar Expandir em um item de árvore pode exibir todos os descendentes ou apenas filhos imediatos.
    • Se a chamada Expandir ou Recolher em um controle mantiver o estado de seus descendentes, um evento de alteração de visibilidade deverá ser enviado, não um evento de alteração de estado. Se o controle pai não mantiver o estado de seus descendentes quando recolhido, o controle poderá destruir todos os descendentes que não estão mais visíveis e gerar um evento destruído; ou pode alterar o ExpandCollapseState para cada descendente e gerar um evento de alteração de visibilidade.
  • Para garantir a navegação, é desejável que um objeto esteja na árvore de Automação da Interface do Usuário da Microsoft (com o estado de visibilidade apropriado) independentemente de seus pais ExpandCollapseState. Se os descendentes forem gerados sob demanda, eles só poderão aparecer na árvore de Automação da Interface do Usuário depois de serem exibidos pela primeira vez ou apenas enquanto estiverem visíveis.

Membros necessários para IExpandCollapseProvider

As propriedades, métodos e eventos a seguir são necessários para implementar a interfaceIExpandCollapseProvider.

Membros necessários Tipo de membro Anotações
ExpandCollapseState Propriedade Nenhum
Expandir Método Nenhum
recolher Método Nenhum
IUIAutomationPropertyChangedEventHandler Acontecimento Esse controle não tem eventos associados; use esse manipulador de eventos genérico.

 

tipos de controle e seus padrões de controle com suporte

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

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