Recuperation du filename d'une image d'un imagelist (vb2005 express)

Résolu
Signaler
Messages postés
26
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
28 février 2006
-
Messages postés
26
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
28 février 2006
-
Bonjour, et tout d'abord merci pour ce site sur lequel j'ai trouvé jusqu'ici la réponse à toutes mes questions.

J'ai un form avec 1 imagelist et 1 listview.

avec le code ci dessous, comment définir que le fname correspond au nom original de l'image ajoutée? (ex: "xxxx.jpg")
ou existe-il une autre méthode pour afficher une liste d'images avec leur nom dessous?


'For i = 0 To ImageList1.Images.Count - 1



' Dim fname As String = ????



' ListView1.Items.Add(fname, i)



'Next

7 réponses

Messages postés
2167
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009
1
Ok ben dsl mais ça va pas etre si simple qu'utiliser une fonction
En fait quand l'image (fichier) est mise dans l'imagelist, elle est passée en mémoire et stockée, et donc après tu pourrais détruire le fichier ça changerai rien sur l'imagelist et son contenu tu vois. Donc l'image contenue dans l'imagelist n'a aucun lien avec le fichier une fois chargée, donc aucun moyen à priori de retrouver le fichier.
Après ce que tu peux faire, c'est dès que tu charge l'image dans le listimage, c'est sauvegarder le nom de fichier associé à chaque image afin de "recréer le lien" entre l'image fichier et l'image de la listimage.
Pour cela,tu peux créer un tableau en sauvegardant chaque nom de fichier correspondant à chaque numéro d'image, ou alors essayer d'inclure le nom de fichier directement dans l'imagelist avec je ne sais quel propriétés, par exemple "tag" (je ne sais pas si il y a une propriété tag pour les items) enfin il faut chercher un peu mais peut etre ça n'existe pas lol.
Enfin tu peux chercher un peu ou ne pas t'embeter et utiliser un tableau.

Voilà j'espère que j'ai été clair et que j'ai pas di de conn**** ça arrive lol

Ciaò
[mailto:madmatt_12@msn.com MadMatt]
www.madmatt.fr.st
3
Merci

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

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
2167
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009
1
Je crois que dans le listview il faut ajouter les images d'un imagelist par leur identifiant (numéro) et non leur filename.
J'ai plus trop ça en mémoire désolé mais j'espère que ce peu d'infos pourra un petit peu t'aider.

Ciaò
[mailto:madmatt_12@msn.com MadMatt]
www.madmatt.fr.st
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
22
Je confirme MadM@tt !)
Il y a les propriétés StateImageList, SmallImageList (pour affichage en Small Icon) et LargeImageList.
Si ton listeview et en affichage par détails associes à StateImageList une ImageList.

Ensuite pour affecter une image à un item

for i as integer=0 to TonListView.Items.Count- 1
TonListView.Items(i).StateImageIndex = 0
next


Messages postés
26
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
28 février 2006

merci de répondre encore ce soir :)

En effet les images sont bien ajoutées par l'identifiant et elles s'affichent correctement. Mais la commande ListView1.Items.Add requiert 2 paramètres: le premier est un string et le 2e l'identifiant. Je cherche comment définir ce string pour qu'il affiche le nom de l'image.
Messages postés
2167
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009
1
Quels sont les noms des parametres demandés ?
Ah je crois avoir compris : le string, c'est le texte qui apparaitra sous l'image dans le listview c'est ça ? Et tu veux mettre le nom du fichier ?

Ciaò
[mailto:madmatt_12@msn.com MadMatt]
www.madmatt.fr.st
Messages postés
26
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
28 février 2006

oui c'est exactement ca
Messages postés
26
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
28 février 2006

bon ben j'ai trouvé une procédure qui marche parfaitement:


http://www.vbfrance.com/code.aspx?ID=16677