Compartilhar via


Usando controles de árvore

O 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, a criação será automática quando a caixa de diálogo for exbida ou criada. Se você quiser criar o controle de árvore como uma janela filho de alguma outra janela, use a função membro Criar.

  • Se você quiser que o controle de árvore use imagens, defina uma lista de imagens chamando SetImageList. Você também pode alterar o recuo chamando SetIndent. Um bom momento para fazer é em OnInitDialog (para controles em caixas de diálogo) ou OnInitialUpdate (para exibições).

  • Coloque dados no controle chamando a função InsertItem de CTreeCtrl uma vez para cada item de dados. InsertItem retorna um identificador para o item que você pode usar para se referir a ele posteriormente, como ao adicionar itens filho. Um bom momento para inicializar os dados é em OnInitDialog (para controles em caixas de diálogo) ou OnInitialUpdate (para exibições).

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

  • Chame as várias funções de membro Set para definir valores para o controle. As alterações que você pode fazer incluem definir o recuo e alterar o texto, a imagem ou os dados associados a um item.

  • Use as várias funções Get para examinar o conteúdo do controle. Você também pode 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ê pode até classificar os filhos de um nó específico.

  • Quando terminar com o controle, verifique se ele foi destruído corretamente. Se o controle de árvore estiver em uma caixa de diálogo ou se for uma exibição, ele e o objeto CTreeCtrl serão destruídos automaticamente. Caso contrário, você precisa garantir que o controle e o objeto CTreeCtrl sejam devidamente destruídos.

Confira também

Usando CTreeCtrl
Controles