Bonjour , je travaille dans un treeview et j'aimerais afficher a coté d'un noeud une petit icone (image)Est ce possible et si oui comment cela marche t'il ...
Merci de votre aide
Bonjour , je travaille dans un treeview et j'aimerais afficher a coté d'un noeud une petit icone (image)Est ce possible et si oui comment cela marche t'il ...
Merci de votre aide
Bonjour,
Regarde dans l'aide...il y a une propriété Images....
Maintenant je sais pas si ces images vont s'afficher ou tu le souhaites...Envoyé par Aide bcb
Oui j'ai vu ca mais comment rajouter une image c'est ca le prob :s
http://www.developpez.net/forums/vie...uter+imagelist
Tiens... ça peut, peut etre, t'aider...
Bon courage et bon week end![]()
Non ca ne m'aide pas du tout . N'y a t'il pas une moyen facile pr dire qu'au level 1 d'un treeview j'ai tel type d'icones , au niveau deux , tel type . Des bmp déja choisies ???
Salut !
Tout d'abord faut avoire une TListView et TListImage !
On rempli TListImage par des images...
On associe la propriété de ListView : Images par ImageList !
(ex ListView1->Images=ImageList1)
Puis on rempli TListView ...par example (celui de l'aide ;-) ) :
Bon avec cette exmple on juste ajouter des noeuds !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 TTreeNode *Node1; TreeView1->Items->Clear(); // Supprime les noeuds existants // Ajoute un noeud racine TreeView1->Items->Add(NULL, "RootNode1"); /* Définit MyTreeNode sur le premier noeud de la vue arborescente et y ajoute un noeud enfant */ Node1 = TreeView1->Items->Item[0]; TreeView1->Items->Item[0]->ImageIndex=1; TreeView1->Items->AddChild(Node1,"ChildNode1"); // Ajoute un autre noeud racine TreeView1->Items->Add(Node1, "RootNode2"); /* Réinitialise Node1 à RootNode2 et lui ajoute un noeud enfant */ Node1 = TreeView1->Items->Item[2]; TreeView1->Items->AddChild(Node1,"ChildNode2"); /* Réinitialise Node1 à ChildNode2 et lui ajoute un noeud enfant */ Node1 = TreeView1->Items->Item[3]; TreeView1->Items->AddChild(Node1,"ChildNode2a"); /* Ajoute un autre enfant à ChildNode2 après ChildNode2a */ TreeView1->Items->AddChild(Node1,"ChildNode2b"); // ajoute un autre noeud racine TreeView1->Items->Add(TreeView1->Items->Item[0], "RootTreeNode3");
Pour personnaliser l'image pour chaque noued :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 TreeView1->Items->Item[No_Noeud]->ImageIndex=Index_de_Image;
A+
Bonjour,
J'ai moi aussi un problème du même style. J'ai lu vos commentaires et j'ai réussi à créer une ImageList comportant des icones, et je les ai appelés lors de la création de mes TTreeNodes.
Lors de la création d'un noeud, je sais s'il s'agit d'un noeud parent (comportant des fils) ou non. Je voudrais affecter une icone différente selon s'il est parent ou pas.
Le problème que je rencontre est que l'icone change si j'expande le noeud ou si je le collapse! Je voudrais avoir la même icone dans les 2 états. Comment faire?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 if (.... vérif parent ...){ TTreeNode* created = ((TTreeView*)_tree)->Items->AddChild( _node , text); // ajout de l'élément dans la TreeView created->ImageIndex = 2; }else{ TTreeNode* created = ((TTreeView*)_tree)->Items->AddChild( _node , text); // ajout de l'élément dans la TreeView created->ImageIndex = 1; }
Merci d'avance!
Ben
Je viens de trouver seul une réponse à ma question... une réponse toute simple! Mais je vous en fais profiter au cas où quelqu'un aurait la même: tout comme ImageIndex, il existe une variable, dans TTreeNode, pour dire l'image voulue dans le cas d'une sélection: SelectedIndex.
Ben
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 TTreeNode* created = ((TTreeView*)_tree)->Items->AddChild( _node , text); // ajout de l'élément dans la TreeView created->ImageIndex = 1; created->SelectedIndex = 1; // pour garder la même icone quelquesoit l'état
Tiens, j'avais longtemps bloqué sur ce satané "SelectedIndex" que je ne connaissais pas!
J'avais dû passer par un "StateIndex" pour court-circuiter le fait que la première image était affichée chaque fois qu'on sélectionne un noeud
Merci bcp pour l'info!![]()
Partager