petertoy1
Messages postés2Date d'inscriptionmardi 12 juin 2007StatutMembreDernière intervention27 décembre 2009
-
22 déc. 2009 à 20:34
JeremyLecouvert
Messages postés139Date d'inscriptionmardi 27 novembre 2007StatutMembreDernière intervention10 mai 2010
-
23 déc. 2009 à 14:10
Bonjour à tous.
Je me forme au C#, et j'essaye les classes treeview et listview comme dans l'explorer de Windows XP.
Je récupére (apparemment correctement) un handle sur une icone, mais j'ai toujours la mème icone pou chaque fichier dans la listview.
Il en est de même pour les icônes des noeuds la treeview qui n'est jamais celle normalement associée aux répertoires.
je voudrais savoir comment windows, à partir de l'icône trouvée par la méthode ExtractAssociatedIcon, associe cette icône au fichier ajouté à la listview et au répertoire ajouté à la treeview.
merci d'avance pour vos conseils et votre aide.
Pierre
JeremyLecouvert
Messages postés139Date d'inscriptionmardi 27 novembre 2007StatutMembreDernière intervention10 mai 20102 23 déc. 2009 à 14:10
Salut,
Tu trouveras ici une appli que j'ai déposée sur le site et qui règlera ton problème. J'utilise un Treeview (même principe pour la Listview) pou afficher une arborescence de fichiers avec les icônes associées.
La mécanique est celle-ci:
- 1 ImageList pour stocker les icônes. Elle est liée au Treeview grâce à la propriété ImageList du Treeview. Par construction, elle ne contient que quelques icônes générales (répertoire ouvert/fermé, icônes de menus...)
- Imagelist possède une propriété Key qui permet d'aller chercher une icône grâce à son nom de clé plutôt qu'à son indice. J'utilise l'extension de fichier comme clé de recherche.
- Pour chaque noeud ajouté au Treeview (fichier), j'utilise son extension pour rechercher l'icône correspondante dans Imagelist. Si la clé n'existe pas, je vais chercher l'icône associée au fichier dans le shell et je l'ajoute dans Imagelist avec sa clé (=extension).
-Enfin j'associe l'icône à l'élément: MonNoeud.ImageKey = extensionFichier;
Regarde mon code, il te montrera comment faire pour le Treeview, et tu n'auras plus qu'à le transposer pour la Listview.
Si l'envie te prend de travailler, assied-toi et attend qu'elle te passe! (vieux -et faux!- dicton corse)