IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

affichage des icones de fichiers images dans un listview [Débutant]


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 135
    Par défaut affichage des icones de fichiers images dans un listview
    bonjour à tous.

    Voilà ma problématique :

    J'ai une listview dans laquelle je voudrais faire afficher les icones des fichiers images qui se trouvent dans un répertoire défini (un peut comme les grandes icones de l'explorer Windows).

    Voici le code que j'ai tapé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     Public Sub REMPLIT_LISTE()
            Dim resultat As String
            LV_Resultat.Items.Clear()
            Dim fileNames = My.Computer.FileSystem.GetFiles("D:\Animation\Jeux\Images\", FileIO.SearchOption.SearchAllSubDirectories, "*.*")
            For Each fileName As String In fileNames
                resultat = IO.Path.GetFileNameWithoutExtension(fileName)
                LV_Resultat.Items.Add(resultat)
            Next
        End Sub
    Lorsque je lance ce code, j'ai la liste de mes fichiers dans la listview mais pas d'icones.

    Je ne vois ce que je dois faire pour les voir affichés. Je suis allé dans tâche listview, j'ai sélectionné afficher : LargeIcon
    et après que dois-je faire ?

    Je suis preneur de votre aide car là, je pédale dans la semoule.

    Merci par avance pour votre aide.

    @+ Martipit

  2. #2
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonsoir,

    Il faut ajouter un imagelist en mode concepteur de vues et ensuite l'associer à ton Listview via la propriété ".LargeImagelist" et/ou ".SmallImagelist" ou alors déclarer tout ça dynamiquement.

    En brefff et à titre d'exemple ca pourrait ressembler à ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
      'On instancie un imagelist pour y stocker les l'image associé aux fichiers
        Private imglist As New ImageList With {.ColorDepth = ColorDepth.Depth32Bit, .ImageSize = New Size(32, 32)}
     
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            'On affecte l'imglist à la propriété SmallImageList et LargeImageList de notre Listview
            ListView1.SmallImageList = imglist
            ListView1.LargeImageList = imglist
            Dim fileNames = My.Computer.FileSystem.GetFiles("D:\Animation\Jeux\Images\", FileIO.SearchOption.SearchAllSubDirectories, "*.*")
            For Each fileName As String In fileNames
                'on instancie un fileinfo pour récupérer ensuite le nom du fichier (.name) le chemin complet (.Fullname)
                Dim fi As New FileInfo(fileName)
                'On récupère l'icone associé au fichier
                Dim iconFile = System.Drawing.Icon.ExtractAssociatedIcon(fi.FullName)
                'On instancie un listviewitem
                Dim lvi As New ListViewItem(fi.Name)
                'Si l'icone n'est pas valide (cela peut arriver) on n'ajoute rien dans l'imglist
                If Not iconFile Is Nothing Then
                    'On ajoute l'image associé au fichier dans l'imgList
                    imglist.Images.Add(iconFile.ToBitmap)
                    'On associe l'image et l'index
                    lvi.ImageIndex = imglist.Images.Count - 1
                End If
                'On ajoute le listviewitem au Listview
                ListView1.Items.Add(lvi)
            Next
        End Sub
    Il faut bien sure l'adapter à tes besoins

    Ou alors il y a également la possibilité de récupérer le mimeType des extensions de fichiers depuis le registre.....

    A+

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 135
    Par défaut
    Bonsoir

    Merci à toi de te pencher sur mon petit soucis.

    J'ai repris ton code et j'ai une erreur concernant le "fileInfo (Filename)" qui n'est pas déclaré.

    Et je ne sais que faire.

    @+ Marci

    Martipit

  4. #4
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par Martipit Voir le message
    Bonsoir

    Merci à toi de te pencher sur mon petit soucis.

    J'ai repris ton code et j'ai une erreur concernant le "fileInfo (Filename)" qui n'est pas déclaré.

    Et je ne sais que faire.

    @+ Marci

    Martipit
    Il faut importer l'espace de noms :

    ou le déclarer explicitement dans le code :

    A+

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 135
    Par défaut
    Re bonsoir

    Alors j'ai tout bien copié et voilà ce que cela me donne dans le listview

    Nom : Capture.jpg
Affichages : 1232
Taille : 236,2 Ko

    Je n'ai donc pas "l'apercu" comme dans l'explorer :
    Nom : capture 2.jpg
Affichages : 1104
Taille : 39,4 Ko

    Désolé pour ma méconnaissance...

    Bonne soirée

    @+ Martipit

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 135
    Par défaut
    re bonsoir

    C'est bon j'ai trouvé. En fait ce n'était pas l'icone que je devais récupérer mais l'image du fichier JPG lui même

    j'ai modifier le script come suit.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim ImgFile = System.Drawing.Icon.ExtractAssociatedIcon(fi.FullName)
                'On instancie un listviewitem
                Dim lvi As New ListViewItem(fi.Name)
                'Si l'icone n'est pas valide (cela peut arriver) on n'ajoute rien dans l'imglist
                If Not ImgFile Is Nothing Then
                    'On ajoute l'image associé au fichier dans l'imgList
                    imglist.Images.Add(ImgFile.ToBitmap)
    reste plus qu'à ne plus faire apparaître le nom du fichier dans la liste si c'est possible

    Encore Merci

    @+ Martipit

  7. #7
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    tres bien alors bonne soiree

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD15] Affichage des donnes de fichier INI dans une table mémoire
    Par bestmoroco dans le forum WinDev
    Réponses: 7
    Dernier message: 17/10/2012, 20h15
  2. Réponses: 6
    Dernier message: 22/07/2011, 15h38
  3. affichage des données d'une bd dans une listview
    Par SALIA LOUA OLIVIER dans le forum VB.NET
    Réponses: 5
    Dernier message: 13/07/2010, 18h02
  4. Importer des fichiers images dans une colonne de type bytea
    Par piposnow dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 28/05/2009, 21h36
  5. Réponses: 11
    Dernier message: 02/06/2008, 22h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo