Icone devant un noeud de treeview? [Résolu]

Messages postés
78
Date d'inscription
mercredi 21 juillet 2004
Dernière intervention
23 février 2009
- - Dernière réponse : Merry29
Messages postés
78
Date d'inscription
mercredi 21 juillet 2004
Dernière intervention
23 février 2009
- 11 juil. 2005 à 20:35
Bonjour/Bonsoir

J'ai un treeview et je cherche à mettre des icones devant les noeuds (genre petit cadenas ouvert/fermé) un peu comme dans l'explorateur de windows avec les répertoires, disque dur, etc... Si vous savez comment faire n'hésitez pas à m'expliquer ;o)

Merci
Afficher la suite 

10 réponses

Meilleure réponse
Messages postés
78
Date d'inscription
mercredi 21 juillet 2004
Dernière intervention
23 février 2009
3
Merci
Bon j'étais passé à autre chose en attendant mais j'ai trouvé! Effectivement tu avais raison!

J'ai mis mes icone dans un imagelist :
"
Me.TreeView1.ImageList =
Me.ImageList1

"

ensuite pour savoir l'image à placer devant le noeud faut mettre :
"
dim noeud as new treenode
noeud.ImageIndex
= "le numéro de l'image dans le imagelist"
"
que l'on ajoute ensuite au treeview

Pour finir :
L'image "1" sera celle activé lorsque l'on selectionne le noeud

Me.TreeViewGroupes.SelectedImageIndex = 1

Merci pour les infos! ct la bonne piste!
Par contre je ne sais pas comment faire si je change l'ordre des images dans mon imagelist...

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 105 internautes ce mois-ci

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Dernière intervention
31 mars 2015
2
Merci
1) faudrait savoir déjà en quoi tu développes ?



2) est ce que t'es obligée d'ajouter tes icones en Runtime ?

tu peux les ajouter avant, clique droit sur ImageList et propriétés et là

tu verras qu'il y a un index, une key et même un tag pour chaque image.


3) sinon faut mettre l'index et/ou clé au chargement

exemple en VB6:

ImageList1.ListImages.Add 1, "bug", LoadPicture("C:\\ICONES\bug16.ico")



4) pour faire référence a une icone, tu peux utiliser soit son index, soit son nom

un avantage pour le nom c'est qu'il est pas modifié si on ajoute, supprime des icones


Daniel
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Dernière intervention
31 mars 2015
0
Merci
1 - mettre une ImageList



2 - mette des icones dedans



3- lier le Treeview à l'ImageList:

Treeview.ImageList = ImageList1


4 - les mettre devant les noeuds

Treeview1.Nodes.Add(, , "root", "Poste de travail", "computer")


Daniel
Messages postés
78
Date d'inscription
mercredi 21 juillet 2004
Dernière intervention
23 février 2009
0
Merci
Alors...

je fais ça :

Dim image
As Image


image.Save("../Image/SECUR02B.ICO")



Me.ImageList1.Images.Add(image)



Me.TreeView1.ImageList = ImageList1 'comment je fais pour retrouver la bonne icon s'il y en a plusieurs? je ne trouve pas de tag.... ("item" peut-être?)


noeud1 =
New TreeNode

Et là je coince...
Treeview1.Nodes.Add(, , "root", "Poste de travail", "computer") ' je ne vois pas comment tu ajoute tes images? car il ne veut que des treenode...
Messages postés
78
Date d'inscription
mercredi 21 juillet 2004
Dernière intervention
23 février 2009
0
Merci
Dsl je code en vb.net...

bon en mettant :


Me.TreeView1.ImageList = ImageList1
et en ajoutant les icone avant de commencer j'ai des icones qui s'affiche devant tous mes ... mais c'est du n'importe quoi... je ne sais pas comment lui faire comprendre qu'il y a des règles a respécter pour mes icones...
Messages postés
78
Date d'inscription
mercredi 21 juillet 2004
Dernière intervention
23 février 2009
0
Merci
En fait si j'ai compris ce que ça fait... mais visiblement ça ne prend que les 2 premières icones... ça fait comme dans l'explorateur Windows : (si on ne regarde que les répertoire par exemple) lorsqu'on clic sur le répertoire il s'ouvre (image 2) sinon il est fermé (image 1)

Moi je voudrais trouver un moyen de décider de l'icone en fonction du noeud...
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Dernière intervention
31 mars 2015
0
Merci
je sais pas comment c'est en Net

mais en Vb6 il y a une commande pour indiquer l'icone qand c'est ouvert ou pas



Set nodx = Treeview1.Nodes.Add(str, tvwChild, nomf, nom, "folder")

nodx.ExpandedImage = "openfolder"


Daniel
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Dernière intervention
31 mars 2015
0
Merci
tu doit surement avoir une propriété Key,

comme en VB6 on peut accéder soit par l'index soit par sa clef,

Key c'est de l'alpha, et ça change pas avec l'ordre des images




Daniel
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Dernière intervention
15 juillet 2011
0
Merci
Salut,



Pour informations,

Les key ne sont pas dans VB.NET, iles t possible de les gérer un peu en les émulant avec la propriété TAG.



Bien sur on perd la puissance des keys.

Acces direct ... perte de la propriétés TAG Si deja utilisés.





http://support.microsoft.com/default.aspx?scid=KB;EN-US;311318



Si tu veux vraiment la propriete.
Messages postés
78
Date d'inscription
mercredi 21 juillet 2004
Dernière intervention
23 février 2009
0
Merci
J'utilise les tags autre part (j'en ai pas vu dans un imageList...)
mais il est possible de mettre un objet dans les tag comme ça tu met
tout ce que tu veux ;o) il suffit de faire :

directcast(truc.tag, objet).lavariablequetuveux!! du coup tu peux utiliser ton tag pour plusieur trus!



Sinon c'est un peu crade mais avec la liste il suffit de ne faire que rajouter et laisser les images "abandonné" dedant...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.