Treeview

Signaler
Messages postés
40
Date d'inscription
vendredi 14 mars 2003
Statut
Membre
Dernière intervention
21 avril 2007
-
Messages postés
1403
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
11 janvier 2009
-
Bonjour,

Quelqu'un pourraît-il me fournir un lien vers un tutoriel ou un code simple pour faire une treeview ?

Merci

5 réponses

Messages postés
1403
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
11 janvier 2009
3
Salut !

Tu as cherché sur le site ?
Parce qu'il me semble qu'il y a tout ce qu'il faut pour ça.

YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
Messages postés
40
Date d'inscription
vendredi 14 mars 2003
Statut
Membre
Dernière intervention
21 avril 2007
1
J'ai cherché et au risque de paraître pour un neuneu congénital je n'avance pas d'un pouce.

Aujourd'hui j'arrive à afficher deux items avec leur icône associée dans une fenêtre avec la le contrôle treeview mais je n'arrive pas à faire une arborescence.
Messages postés
1403
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
11 janvier 2009
3
Il faut que tu utilises le message TVM_INSERTITEM.
Avec ce message tu dois utiliser une structure TVINSERTSTRUCT.
C'est grâce à cette structure que tu places ton item là où tu veux dans l'arborescence.
Si tu as créé déjà des item dans ton treeview, tu dois pouvoir récupérer leur HTREEITEM.
Si tu veux ajouter un autre item mais qui soit en arborescence (en sous dossier en quelque sorte) par rapport à l'un de ceux qui sont déjà créé, tu dois le spécifier dans la structure TVINSERTSTRUCT.
Voilà un exemple :
TVITEM TVItem;

/*
Remplis la structure TVItem avec ce que tu veux comme information
*/

TVINSERTSTRUCT structure;
structure.hParent = le_htreeitem_que_tu_veux; // c'est là que tu fixes ton arborescence
structure.hInsertAfter = TVI_SORT; // pour insérer selon l'ordre alphabétique
http://www.cppfrance.com/codes/SHELL-TREEVIEW-WIN32_38864.aspxstrcture.item = TVItem;
SendMessage(hWnd_de_ton_treeview, TVM_INSERTITEM, 0, (LPARAM)&structure); // on ajoute l'item

Normalement tu as tout ce qu'il te faut.
J'ai rien vérifier sur le fonctionnement, mais au pire ça t'aidera pour mieux comprendre.

YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
Messages postés
40
Date d'inscription
vendredi 14 mars 2003
Statut
Membre
Dernière intervention
21 avril 2007
1
Je te remercie beaucoup pour cet exemple yoyo269, c'est en effet un peu plus clair. J'ai bien mes structures TVINSERTSTRUCT et TVITEM, j'envoie bien le message TVM_INSERTITEM mais c'est la récupération du handle d'un item qui me pose de gros problèmes.

J'ai essayé avec le message TVM_GETNEXTITEM et tous les flags qui me sont tombés sous la main mais je ne suis arrivé à rien.
Messages postés
1403
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
11 janvier 2009
3
Il me semble que quand tu ajoutes un item avec SendMessage, ça te retourne le HTREEITEM de l'item créé mais c'est à vérifier.
HTREEITEM Item = SendMessage(blabla);

YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"