Envisagez l'Explorateur Windows (ou regedit ou similaire). Sur le côté gauche, il y a une vue en arborescence, et à droite, une vue en liste. Dans tous les cas que je connais, le contenu de la vue de droite reflète les attributs du nœud sélectionné dans le volet de gauche. C'est très bien ... mais pas ce que je veux.Couplage d'un MFC CListCtrl et CTreeCtrl pour obtenir une vue de l'arbre entier, pas seulement un nœud à la fois
Les nœuds de l'arborescence que je souhaite afficher comportent très peu d'attributs (2-3) associés à chaque nœud - une quantité raisonnable à afficher horizontalement sous la forme d'une ligne dans une table. Plutôt que de gaspiller tout cet espace de vue liste sur un seul nœud avec très peu de propriétés, j'aimerais que ma vue liste affiche une table des propriétés de l'arbre entier (comme la partie de l'arbre actuellement développée). Donc, la nième ligne dans la vue de gauche (arbre) correspondra directement à la nième ligne de la vue de droite (liste/table), et j'obtiendrai une bonne vue d'ensemble des propriétés de mon arbre.
Quelqu'un sait-il du code qui fait cela? Je devine qu'associer un CListCtrl à un CTreeCtrl serait le chemin à parcourir, et en quelque sorte outrepassant les fonctions de défilement vertical de sorte qu'ils soient verrouillés ensemble. Je ne suis pas sûr qu'il soit possible de verrouiller les parchemins comme ça ... entre autres choses! Tous les conseils sont les bienvenus :-)
Jusqu'à ce que quelqu'un donne une réponse convaincante ... Je suppose que je pourrais utiliser un CListCtrl, et se moquer de l'aspect de l'arbre à l'aide d'indentation et - et | caractères dans la première colonne de la table. Ce ne sera pas joli, mais il sera plus facile à implémenter. – omatai