Partilhar 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 controlador for especificado num modelo de caixa de diálogo ou se estiver a usar CTreeView, a criação será automática quando a caixa de diálogo ou vista for criada. Se pretender criar o controlo de árvore como uma janela filha de outra janela, use a função membro Criar.

  • Se você quiser que seu controle de árvore use imagens, defina uma lista de imagens chamando SetImageList. Você também pode mudar a indentação chamando SetIndent. Um bom momento para fazer isso é em OnInitDialog (para controles em caixas de diálogo) ou OnInitialUpdate (para modos de exibição).

  • Coloque dados no controle chamando a CTreeCtrlfunção InsertItem uma vez para cada item de dados. InsertItem Retorna um identificador para o item que pode usar para se referir a ele mais tarde, como ao adicionar itens subordinados. Um bom momento para inicializar os dados está em OnInitDialog (para controles em caixas de diálogo) ou OnInitialUpdate (para modos de exibição).

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

  • Chame as várias funções membro do conjunto para atribuir valores ao controlo. 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 alças para pais, filhos e irmãos de um item especificado. Você pode até mesmo classificar os filhos de um nó específico.

  • Quando terminar com o controlo, certifique-se de que este é devidamente destruído. Se o controlo de árvore estiver numa caixa de diálogo ou se for uma vista, este e o objeto CTreeCtrl serão destruídos automaticamente. Se não, você precisa garantir que o controle e o CTreeCtrl objeto sejam destruídos corretamente.

Ver também

Usando CTreeCtrl
Controlos