Partager via


Éléments parents et enfants du contrôle d'arborescence

Tout élément d’un contrôle d’arborescence (CTreeCtrl) peut avoir une liste de sous-éléments, appelés éléments enfants, associés. Un élément qui a un ou plusieurs éléments enfants est appelé un élément parent. Un élément enfant s'affiche sous l'élément parent et est mis en retrait pour l'identifier comme subordonné au parent. Un élément qui n'a aucun parent est en haut de la hiérarchie et est appelé un élément racine.

À tout moment, l‘état d‘une liste d‘éléments parents pour des éléments enfants peut être développé ou réduit. Lorsque l’état est développé, les éléments enfants apparaissent sous l’élément parent. Lorsqu'il est réduit, les éléments enfants ne sont pas affichés. La liste bascule automatiquement entre les états développés et réduits lorsque l’utilisateur double-clique sur l’élément parent ou, si le parent a le style TVS_HASBUTTONS , lorsque l’utilisateur clique sur le bouton associé à l’élément parent. Une application peut développer ou réduire les éléments enfants à l’aide de la fonction Développer un membre.

Vous ajoutez un élément à un contrôle d’arborescence en appelant la fonction membre InsertItem . Cette fonction retourne un handle du type HTREEITEM , qui identifie de façon unique l’élément. En ajoutant un élément, vous devez spécifier le descripteur de l'élément parent du nouvel élément. Si vous spécifiez NULL ou la valeur TVI_ROOT au lieu d’un handle d’élément parent dans la structure TVINSERTSTRUCT ou le paramètre hParent, l’élément est ajouté en tant qu’élément racine.

Un contrôle d’arborescence envoie un message de notification TVN_ITEMEXPANDING lorsque la liste des éléments enfants d’un élément parent est sur le point d’être développée ou réduite. La notification vous permet d'empêcher la modification ou la définition de tous les attributs de l'élément parent qui dépendent de l'état de la liste des éléments enfants. Après avoir modifié l’état de la liste, le contrôle d’arborescence envoie un message de notification TVN_ITEMEXPANDED .

Lorsqu’une liste d’éléments enfants est développée, elle est mise en retrait par rapport à l’élément parent. Vous pouvez définir la quantité de retrait à l’aide de la fonction membre SetIndent ou récupérer la quantité actuelle à l’aide de la fonction membre GetIndent .

Voir aussi

Utilisation de CTreeCtrl
Contrôles