Usando controles de árvore

Uso típico de um controle de árvore (CTreeCtrl) segue o padrão abaixo:

  • O controle é criado.Se o controle for especificado em um modelo de caixa de diálogo ou se você estiver usando CTreeView, criação é automática quando a caixa de diálogo ou modo de exibição é criado.Se você deseja criar o controle de árvore como uma janela filho de alguma outra janela, use o criar função de membro.

  • Se desejar que o controle de árvore para usar imagens, definir uma lista de imagem chamando SetImageList.Você também pode alterar o recuo chamando SetIndent.É um bom momento para fazer isso em OnInitDialog (para controles nas caixas de diálogo) ou OnInitialUpdate (para modos de exibição).

  • Colocar dados no controle chamando o CTreeCtrldo InsertItem função uma vez para cada item de dados.InsertItemRetorna um identificador para o item que você pode usar para consultá-lo posteriormente, como quando adicionando itens filho.É um bom momento para inicializar os dados em OnInitDialog (para controles nas caixas de diálogo) ou OnInitialUpdate (para modos de exibição).

  • Como o usuário interage com o controle, ele enviará várias mensagens de notificação.Você pode especificar uma função para lidar com cada uma das mensagens que você deseja manipular adicionando um ON_NOTIFY_REFLECT macro no mapa da mensagem da janela de controle ou adicionando um ON_NOTIFY macro ao mapa de mensagem da sua janela pai.Consulte Mensagens de notificação de controle de árvore posteriormente neste tópico para obter uma lista de possíveis notificações.

  • Várias funções de membro do conjunto para definir valores para o controle de chamada.As alterações que você pode fazer incluem definir o recuo e alterar o texto, imagem ou dados associados a um item.

  • Use várias funções Get para examinar o conteúdo do controle.Também é possível percorrer o conteúdo do controle de árvore com funções que permitem recuperar identificadores para pais, filhos e irmãos de um item especificado.Você ainda pode classificar os filhos de um nó específico.

  • Quando você terminar com o controle, verifique se que ele corretamente é destruído.Se o controle de árvore estiver em uma caixa de diálogo ou se é um modo de exibição, ele e o CTreeCtrl objeto será destruído automaticamente.Se não, você precisará garantir que tanto o controle e o CTreeCtrl objeto corretamente são destruídos.

Consulte também

Referência

Usando CTreeCtrl

Conceitos

Controles (MFC)