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

Merry29 78 Messages postés mercredi 21 juillet 2004Date d'inscription 23 février 2009 Dernière intervention - 6 juil. 2005 à 17:12 - Dernière réponse : Merry29 78 Messages postés mercredi 21 juillet 2004Date d'inscription 23 février 2009 Dernière intervention
- 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
Merry29 78 Messages postés mercredi 21 juillet 2004Date d'inscription 23 février 2009 Dernière intervention - 11 juil. 2005 à 14:08
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...

Merci Merry29 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 7 juil. 2005 à 11:20
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
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 6 juil. 2005 à 21:38
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
Merry29 78 Messages postés mercredi 21 juillet 2004Date d'inscription 23 février 2009 Dernière intervention - 7 juil. 2005 à 10:01
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...
Merry29 78 Messages postés mercredi 21 juillet 2004Date d'inscription 23 février 2009 Dernière intervention - 7 juil. 2005 à 13:51
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...
Merry29 78 Messages postés mercredi 21 juillet 2004Date d'inscription 23 février 2009 Dernière intervention - 7 juil. 2005 à 14:06
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...
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 7 juil. 2005 à 14:13
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
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 11 juil. 2005 à 16:20
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
nhervagault 6069 Messages postés dimanche 13 avril 2003Date d'inscription 15 juillet 2011 Dernière intervention - 11 juil. 2005 à 16:45
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.
Merry29 78 Messages postés mercredi 21 juillet 2004Date d'inscription 23 février 2009 Dernière intervention - 11 juil. 2005 à 20:35
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.