raoulman
Messages postés40Date d'inscriptionvendredi 14 mars 2003StatutMembreDernière intervention21 avril 20071 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.
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 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 !"
raoulman
Messages postés40Date d'inscriptionvendredi 14 mars 2003StatutMembreDernière intervention21 avril 20071 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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 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 !"