Treeview

raoulman Messages postés 40 Date d'inscription vendredi 14 mars 2003 Statut Membre Dernière intervention 21 avril 2007 - 13 janv. 2007 à 15:50
yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 - 13 janv. 2007 à 17:51
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

yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 2
13 janv. 2007 à 16:43
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 !"
0
raoulman Messages postés 40 Date d'inscription vendredi 14 mars 2003 Statut Membre Dernière intervention 21 avril 2007 1
13 janv. 2007 à 16:53
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.
0
yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 2
13 janv. 2007 à 17:14
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 !"
0
raoulman Messages postés 40 Date d'inscription vendredi 14 mars 2003 Statut Membre Dernière intervention 21 avril 2007 1
13 janv. 2007 à 17:44
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 2
13 janv. 2007 à 17:51
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 !"
0
Rejoignez-nous