Utilisation de contrôles d’arborescence

L’utilisation classique d’un contrôle d’arborescence (CTreeCtrl) suit le modèle ci-dessous :

  • Le contrôle est créé. Si le contrôle est spécifié dans un modèle de boîte de dialogue ou si vous utilisez CTreeView, la création est automatique lorsque la boîte de dialogue ou la vue est créée. Si vous souhaitez créer le contrôle d’arborescence en tant que fenêtre enfant d’une autre fenêtre, utilisez la fonction Créer un membre.

  • Si vous souhaitez que votre contrôle d’arborescence utilise des images, définissez une liste d’images en appelant SetImageList. Vous pouvez également modifier la mise en retrait en appelant SetIndent. Un bon moment pour ce faire est dans OnInitDialog (pour les contrôles dans les boîtes de dialogue) ou OnInitialUpdate (pour les vues).

  • Placez des données dans le contrôle en appelant la CTreeCtrlfonction InsertItem une fois pour chaque élément de données. InsertItem retourne un handle à l’élément que vous pouvez utiliser pour y faire référence ultérieurement, par exemple lors de l’ajout d’éléments enfants. Il est OnInitDialog judicieux d’initialiser les données (pour les contrôles dans les boîtes de dialogue) ou OnInitialUpdate (pour les vues).

  • Lorsque l’utilisateur interagit avec le contrôle, il envoie différents messages de notification. Vous pouvez spécifier une fonction pour gérer chacun des messages que vous souhaitez gérer en ajoutant une macro ON_NOTIFY_REFLECT dans la carte des messages de votre fenêtre de contrôle ou en ajoutant une macro ON_NOTIFY à la carte de messages de votre fenêtre parente. Consultez les messages de notification de contrôle d’arborescence plus loin dans cette rubrique pour obtenir la liste des notifications possibles.

  • Appelez les différentes fonctions membres Set pour définir des valeurs pour le contrôle. Les modifications que vous pouvez apporter incluent la définition de la mise en retrait et la modification du texte, de l’image ou des données associées à un élément.

  • Utilisez les différentes fonctions Get pour examiner le contenu du contrôle. Vous pouvez également parcourir le contenu du contrôle d’arborescence avec des fonctions qui vous permettent de récupérer des handles pour les parents, les enfants et les frères d’un élément spécifié. Vous pouvez même trier les enfants d’un nœud particulier.

  • Lorsque vous avez terminé avec le contrôle, assurez-vous qu’il est correctement détruit. Si le contrôle d’arborescence se trouve dans une boîte de dialogue ou s’il s’agit d’une vue, l’objet CTreeCtrl est détruit automatiquement. Si ce n’est pas le cas, vous devez vous assurer que le contrôle et l’objet CTreeCtrl sont détruits correctement.

Voir aussi

Utilisation de CTreeCtrl
Contrôles