Autor
|
Tema: problema con imagelist y listview (Leído 8,706 veces)
|
SRVAM
Desconectado
Mensajes: 130
|
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
|
|
« Última modificación: 24 Agosto 2009, 22:33 pm por SRVAM »
|
En línea
|
C# Programmer
-Estudiante MCTS .NET Framework 3.5-
|
|
|
yovaninu
Desconectado
Mensajes: 349
|
|
|
|
En línea
|
|
|
|
SRVAM
Desconectado
Mensajes: 130
|
sigue sin funcionarme, sera una tonteria pero no lo veo. me da un error que dice que el imagelist debe ser inicializado antes de usarlo. pero no se a que se refiere con eso :S
|
|
|
En línea
|
C# Programmer
-Estudiante MCTS .NET Framework 3.5-
|
|
|
MCKSys Argentina
|
Te pregunto: El Form5 que aparece... está cargado??? Si haces referencia a un form desde un modulo, te conviene usar una variable global (a nivel modulo), que contenga una instancia del formulario Eso seria: Luego, f5 es un objeto del tipo Form, que aun no ha sido instanciado, pero que puede ser accedido desde cualquier punto de tu aplicación. Para intanciarlo, cargarlo y mostrarlo (por ej.), basta con hacer: Set f5 = New Form5 Load f5 f5.Show
Creo que es por eso que te sale el error. Saludos!
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
seba123neo
|
Hola, ¿ al listview le enlazaste el ImageList desde las propiedades ? igualmente para cargar las imagenes lo podes hacer en tiempo de diseño, no cargar las imagenes en tiempo de ejecución.
saludos.
|
|
|
En línea
|
|
|
|
SRVAM
Desconectado
Mensajes: 130
|
el form 5 si esta activado, de echo es el main. lo que he hecho es en vez de cargar las imagenes en ejecucion en el imagelist las he añadido en el diseño, pero aun asi no me funciona. el codigo que tengo seria este (pero para un icono, todavia no hago ningun bucle para saber que tipo de archivo es y elegir un icono u otro) 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) <> "" Set item = Form5.ListView1.ListItems.Add(, , Form5.ftp.GetFilename(contador), Form5.ImageList1.ListImages(6)) 'aqui el imagelist deberia poner el icono en el list 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
a ver como consigo hacerlo porque no se me ocurre como :S
|
|
|
En línea
|
C# Programmer
-Estudiante MCTS .NET Framework 3.5-
|
|
|
ssccaann43 ©
Desconectado
Mensajes: 792
¬¬
|
Perdona pero así no es... Debes indicarle al ListView que tiene enlazado un ImageList. Luego en el Codigo, indicas el Index del Icono. Los iconos cargalos en tiempo de Diseño. Este es el Codigo que debe tener al momento de cargar la info en el ListView. Form5.ListView1.ListItems.Add(, , Form5.ftp.GetFilename(contador), 6) 'El numero "6" identifica la posicion que tiene el icono dentro del ImageList.
Selecciona el ListView con click derecho y dale a propiedades. Te vas a la pestaña de Lista de Imagenes. Y donde dice Normal o Pequeño, seleccionas el ImageList.
|
|
|
En línea
|
- Miguel Núñez Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio... "I like ^TiFa^"
|
|
|
SRVAM
Desconectado
Mensajes: 130
|
gracias ssccaann43 ahora si que funciona. ahora hay otro problemilla, y es que esta en el listview el item, pero no aparece el icono, en el margen izquierdo esta el hueco, pero no aparece el icono :S cuantos problemas me esta dando esta tonteria, perdon si me pongo pesado amigos.
|
|
|
En línea
|
C# Programmer
-Estudiante MCTS .NET Framework 3.5-
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Problema rellenando ListView
.NET (C#, VB.NET, ASP)
|
quiqueroal
|
2
|
3,538
|
3 Mayo 2011, 22:15 pm
por quiqueroal
|
|
|
Problema con listview
Programación Visual Basic
|
hackertotal22
|
2
|
3,543
|
13 Julio 2011, 10:25 am
por hackertotal22
|
|
|
Recuperar imagen de BD cargar en Imagelist y mostrar en ListView
.NET (C#, VB.NET, ASP)
|
enterariel
|
3
|
6,216
|
11 Agosto 2012, 03:40 am
por enterariel
|
|
|
(SOLUCIONADO) Problema con Listview
.NET (C#, VB.NET, ASP)
|
Eleкtro
|
3
|
3,043
|
6 Agosto 2013, 20:53 pm
por Eleкtro
|
|
|
Extraño problema y conflicto con los ListView
Programación Visual Basic
|
RiasChan
|
1
|
2,450
|
15 Junio 2019, 00:36 am
por Serapis
|
|