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 ou exibição for criada. Se você quiser criar o controle de árvore como uma janela filha 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 isso é no OnInitDialog (para controles em caixas de diálogo) ou OnInitialUpdate (para exibições).

  • Coloque dados no controle chamando a CTreeCtrlfunção InsertItem 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 está 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 processar cada uma das mensagens que deseja manipular, adicionando a macro ON_NOTIFY_REFLECT ao mapa de mensagens da janela de controle ou adicionando a 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 a configuração do recuo e a alteração do texto, imagem ou 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 CTreeCtrl objeto sejam destruídos corretamente.

Consulte também

Usando CTreeCtrl
Controles