2010-10-29 21 views
2

J'ai une application VB 6.0 qui contient quelques images à l'intérieur d'un contrôle imagelist. Je veux savoir où ces images sont stockées dans le système (parce que je veux utiliser ces images dans une autre application et je n'ai pas les images séparément dans le système) Ainsi, le seul moyen est de prendre les images de Visusal basic 6.0 projet. Avons-nous quelque chose comme un dossier de ressources similaire à .Net?Comment faire pour restaurer les images téléchargées pour le contrôle de l'imagelist dans VB 6.0

S'il vous plaît laissez-moi savoir bientôt.

Merci Rupa

Répondre

6
  • Démarrez un projet vide.
  • Ajouter référence (Ctrl + T) pour Microsoft Windows Common Controls 5.0 or 6.0
  • Copier/Coller le contrôle de liste d'images à Form1
  • Renommer le contrôle de liste d'images à ImageList1

Utilisez ce code

Dim lIdx As Long 

For lIdx = 1 To ImageList1.ListImages.Count 
    SavePicture ImageList1.ListImages(lIdx).Picture, "C:\TEMP\img" & lIdx & ".bmp" 
Next 
+0

+1 vous pourriez simplement coller ce code temporairement dans votre projet réel. Vous pourriez même être en mesure de l'exécuter à partir de la fenêtre Exécution. – MarkJ

1

je suis tombé sur le même problème il y a quelque temps. J'ai fini par écrire une petite fonction dans la forme avec l'imagiste qui "manuellement" sauvegardé chaque image dans l'imagelist sur le disque.

0
' utility to save images from a VB6 imagelist - example ExtractVB6ImageListImages(ImageListModes,"ImageListModes") 
Function ExtractVB6ImageListImages(myimagelist As ImageList, listname As String) 
    Dim nCount As Integer 
    Dim nIndex As Integer 
    Dim sKey As String 

    Dim temp As Image 

    nCount = myimagelist.ListImages.count() 
    For nIndex = 1 To nCount 
     If nIndex < 10 Then 
      SavePicture myimagelist.ListImages(nIndex).Picture, listname + "00" + Mid(Str(nIndex), 2) + ".bmp" 
     ElseIf nIndex < 100 Then 
      SavePicture myimagelist.ListImages(nIndex).Picture, listname + "0" + Mid(Str(nIndex), 2) + ".bmp" 
     Else 
      SavePicture myimagelist.ListImages(nIndex).Picture, listname + Mid(Str(nIndex), 2) + ".bmp" 
     End If 

    Next 

End Function 
+1

Presque identique à la réponse acceptée, qui a été affichée il y a plus d'un an – MarkJ