bueno, tengo un problema al poner iconos en un listview.
lo que hago es cargar al principio los iconos en un imagelist, y lego cuando añado los items al listview en la parte de icono le digo que ponga el listimage(x) del imagelist.
pero a la hora de ejecutar el programa me da un fallo que dice que para usar el imagelist primero debo inicializarlo.
espero que alguien pueda ayudare. aqui dejo el codigo para que lo veais
Public Function cargar_imgs()
Dim indice As Integer
Dim img As ListImage
Dim directorio As String
directorio = App.path & "\iconos"
For indice = 1 To 8
Form5.Picture1.Picture = LoadPicture(directorio & "\" & indice & ".jpg")
Set img = Form5.ImageList1.ListImages.Add(indice, , Form5.Picture1.Picture)
Next indice
End Function
Public Function llenar_list()
Dim contador As Integer
Dim item As ListItem
Dim tamaño As Double
Form5.ListView1.ColumnHeaders.Clear
Form5.ftp.GetTextDirListing "*.*"
Form5.ListView1.ListItems.Clear
contador = 0
Form5.ListView1.ColumnHeaders.Add , , "Files", Form5.ListView1.Width / 2
Form5.ListView1.ColumnHeaders.Add , , "Size", Form5.ListView1.Width / 2
Do While Form5.ftp.GetFilename(contador) <> ""
If InStr(LCase(Form5.ftp.GetFilename(contador)), ".jpg") <> 0 Then
Set item = Form5.ListView1.ListItems.Add(, , Form5.ftp.GetFilename(contador), Form5.ImageList1.ListImages(1))
End If
If InStr(LCase(Form5.ftp.GetFilename(contador)), ".rar") <> 0 Then
Set item = Form5.ListView1.ListItems.Add(, , Form5.ftp.GetFilename(contador), Form5.ImageList1.ListImages(6))
End If
If InStr(LCase(Form5.ftp.GetFilename(contador)), ".txt") <> 0 Then
Set item = Form5.ListView1.ListItems.Add(, , Form5.ftp.GetFilename(contador), Form5.ImageList1.ListImages(7))
End If
If InStr(LCase(Form5.ftp.GetFilename(contador)), ".pdf") <> 0 Then
Set item = Form5.ListView1.ListItems.Add(, , Form5.ftp.GetFilename(contador), Form5.ImageList1.ListImages(8))
End If
If InStr(LCase(Form5.ftp.GetFilename(contador)), ".mp3") <> 0 Then
Set item = Form5.ListView1.ListItems.Add(, , Form5.ftp.GetFilename(contador), Form5.ImageList1.ListImages(2))
End If
If InStr(LCase(Form5.ftp.GetFilename(contador)), ".avi") <> 0 Or InStr(LCase(Form5.ftp.GetFilename(contador)), ".mpg") <> 0 Or InStr(LCase(Form5.ftp.GetFilename(contador)), ".mpeg") <> 0 Then
Set item = Form5.ListView1.ListItems.Add(, , Form5.ftp.GetFilename(contador), Form5.ImageList1.ListImages(3))
End If
If InStr(LCase(Form5.ftp.GetFilename(contador)), ".doc") <> 0 Then
Set item = Form5.ListView1.ListItems.Add(, , Form5.ftp.GetFilename(contador), Form5.ImageList1.ListImages(6))
End If
tamaño = Val(Form5.ftp.GetSize(contador)) / 1022
item.SubItems(1) = Val(Mid(Str(tamaño), 1, 4)) & " " & "Kb"
contador = contador + 1
Loop
End Function
bueno, se que el codigo se peude optimizar y el programa esta hecho con chilkatftp2, no con un API.
pero cualquier critica y consejo sera bien recibido
saludos