如何在VB 6.0中恢复为imagelist控件上传的图像

时间:2010-10-29 12:33:05

标签: vb6 controls imagelist

我有一个VB 6.0应用程序,其中包含一个imagelist控件内的一些图像。我想知道这些图像存储在系统中的位置。(因为我想在另一个应用程序中使用这些图像而我在系统中没有单独的图像) 因此,唯一的方法是从Visusal basic 6.0项目中获取图像。 我们有类似.Net的资源文件夹吗?

请尽快告诉我。

由于 鲁帕

3 个答案:

答案 0 :(得分:6)

  • 启动一个空项目。
  • 将引用(Ctrl + T)添加到Microsoft Windows Common Controls 5.0 or 6.0
  • 将图像列表控件复制/粘贴到Form1
  • 将图像列表控件重命名为ImageList1

使用此代码

Dim lIdx As Long

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

答案 1 :(得分:1)

前段时间我遇到了同样的问题。我最终在表单中编写了一个小函数,其中图像列表“手动”将图像列表中的每个图像保存到磁盘。

答案 2 :(得分: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