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

Résolu
Mousy Messages postés 26 Date d'inscription jeudi 9 février 2006 Statut Membre Dernière intervention 28 février 2006 - 20 févr. 2006 à 00:35
Mousy Messages postés 26 Date d'inscription jeudi 9 février 2006 Statut Membre Dernière intervention 28 février 2006 - 20 févr. 2006 à 03:59
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

MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
20 févr. 2006 à 02:03
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
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
20 févr. 2006 à 01:36
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
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
20 févr. 2006 à 01:46
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


0
Mousy Messages postés 26 Date d'inscription jeudi 9 février 2006 Statut Membre Dernière intervention 28 février 2006
20 févr. 2006 à 01:46
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
20 févr. 2006 à 01:54
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
0
Mousy Messages postés 26 Date d'inscription jeudi 9 février 2006 Statut Membre Dernière intervention 28 février 2006
20 févr. 2006 à 01:56
oui c'est exactement ca
0
Mousy Messages postés 26 Date d'inscription jeudi 9 février 2006 Statut Membre Dernière intervention 28 février 2006
20 févr. 2006 à 03:59
bon ben j'ai trouvé une procédure qui marche parfaitement:


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