Partilhar via


Itens pai e filho do controle de árvore

Qualquer item em um controle de árvore (CTreeCtrl) pode ter uma lista de subitens, que são chamados de itens filho, associados a ele. Um item que tem um ou mais itens filho é chamado de item pai. Um item filho é exibido abaixo de seu item pai e é recuado para indicar que ele é subordinado ao pai. Um item que não tem pai está na parte superior da hierarquia e é chamado de item raiz.

A qualquer momento, o estado da lista de itens filho de um item pai pode ser expandido ou recolhido. Quando o estado é expandido, os itens filho são exibidos abaixo do item pai. Quando ele é recolhido, os itens filho não são exibidos. A lista alterna automaticamente entre os estados expandido e recolhido quando o usuário clica duas vezes no item pai ou, se o pai tiver o estilo TVS_HASBUTTONS, quando o usuário clicar no botão associado ao item pai. Um aplicativo pode expandir ou recolher os itens filho usando a função membro Expandir.

Adicione um item a um controle de árvore chamando a função membro InsertItem . Essa função retorna um identificador do tipo HTREEITEM, que identifica exclusivamente o item. Ao adicionar um item, você deve especificar o identificador do item pai do novo item. Se você especificar NULL ou o valor TVI_ROOT em vez de um identificador de item pai na estrutura TVINSERTSTRUCT ou no parâmetro hParent, o item será adicionado como um item raiz.

Um controle de árvore envia uma mensagem de notificação TVN_ITEMEXPANDING quando a lista de itens filho de um item pai está prestes a ser expandida ou recolhida. A notificação oferece a oportunidade de impedir a alteração ou definir quaisquer atributos do item pai que dependem do estado da lista de itens filho. Depois de alterar o estado da lista, o controle de árvore envia uma mensagem de notificaçãoTVN_ITEMEXPANDED .

Quando uma lista de itens filho é expandida, ela é recuada em relação ao item pai. Você pode definir a quantidade de recuo usando a função de membro SetIndent ou recuperar o valor atual usando a função de membro GetIndent .

Confira também

Usando CTreeCtrl
Controles