El explorador de imágenes: un sencillo programa para visualizar nuestras fotos.
Consta de:
- 1 Drive para selecionar la unidad en la que vamos a encontrar nuestras fotos.
- 1 Dir para navegar por las carpetas de la unidad previamente seleccionada.
- 6 OptionButton.
Funciona de la siguiente manera:
'Carga los gráficos del FileList en el ListView
Sub Cargar_Imagen( _
ListView As ListView, _
imageList As imageList, _
progressbar As progressbar)
On Local Error GoTo errSub
Dim imagen As Integer, Clave As String
Set ListView.Icons = Nothing
With imageList
'Elimina las imágenes del ImageList
.ListImages.Clear
'Elimina los Items del Listview
ListView.ListItems.Clear
End With
'Según el optionbutton seleccionado, asigna el ancho y alto que tendrá la imagen cargada en en el Listview
With imageList
If Option1(0) Then
.ImageHeight = 16
.ImageWidth = 16
ElseIf Option1(1) Then
.ImageHeight = 32
.ImageWidth = 32
ElseIf Option1(2) Then
.ImageHeight = 48
.ImageWidth = 48
ElseIf Option1(3) Then
.ImageHeight = 64
.ImageWidth = 64
ElseIf Option1(4) Then
.ImageHeight = 128
.ImageWidth = 128
End If
End With
With progressbar
.Value = 0
.Max = File1.ListCount
End With
' Recorre el FileListBox con las imagenes para agregar
For imagen = 0 To File1.ListCount - 1
'clave ( nombre del gráfico) para asignar al ImageList y el ListView
Clave = File1.List(imagen)
'Agrega el gráfico al ImageListleyendo del disco con LaodPicture
imageList.ListImages.Add , Clave, _
LoadPicture(Dir1.Path & "\" & Clave)
' Si el ImageList no está inicializdo ..lo enlaza al Listview
If ListView.Icons Is Nothing Then
Set ListView.Icons = imageList
End If
'Agrega la imagen
ListView.ListItems.Add , , Clave, Clave
'Visualiza el progreso
progressbar.Value = imagen + 1
DoEvents
Next
progressbar.Value = 0
Exit Sub
Sub Cargar_Imagen( _
ListView As ListView, _
imageList As imageList, _
progressbar As progressbar)
On Local Error GoTo errSub
Dim imagen As Integer, Clave As String
Set ListView.Icons = Nothing
With imageList
'Elimina las imágenes del ImageList
.ListImages.Clear
'Elimina los Items del Listview
ListView.ListItems.Clear
End With
'Según el optionbutton seleccionado, asigna el ancho y alto que tendrá la imagen cargada en en el Listview
With imageList
If Option1(0) Then
.ImageHeight = 16
.ImageWidth = 16
ElseIf Option1(1) Then
.ImageHeight = 32
.ImageWidth = 32
ElseIf Option1(2) Then
.ImageHeight = 48
.ImageWidth = 48
ElseIf Option1(3) Then
.ImageHeight = 64
.ImageWidth = 64
ElseIf Option1(4) Then
.ImageHeight = 128
.ImageWidth = 128
End If
End With
With progressbar
.Value = 0
.Max = File1.ListCount
End With
' Recorre el FileListBox con las imagenes para agregar
For imagen = 0 To File1.ListCount - 1
'clave ( nombre del gráfico) para asignar al ImageList y el ListView
Clave = File1.List(imagen)
'Agrega el gráfico al ImageListleyendo del disco con LaodPicture
imageList.ListImages.Add , Clave, _
LoadPicture(Dir1.Path & "\" & Clave)
' Si el ImageList no está inicializdo ..lo enlaza al Listview
If ListView.Icons Is Nothing Then
Set ListView.Icons = imageList
End If
'Agrega la imagen
ListView.ListItems.Add , , Clave, Clave
'Visualiza el progreso
progressbar.Value = imagen + 1
DoEvents
Next
progressbar.Value = 0
Exit Sub
'Error
errSub:
MsgBox " Número de Error:" & Err.Number & vbNewLine _
& Err.Description, vbCritical
End Sub
errSub:
MsgBox " Número de Error:" & Err.Number & vbNewLine _
& Err.Description, vbCritical
End Sub
Resultado:
- Los 6 Optionbuttons:
Te permite que al cargar las imágenes utilizar diferentes tamaños.
Código:
Private Sub Form_Load()
' Filtro de extensiones para los archivos del FileList
File1.Pattern = "*.bmp;*.jpg;*.gif;*.ico;*.jpeg;*.wmf;*.cur"
Option1(2).Value = True
With ListView1
' Tipo de ordenación de los íconos
ListView1.Arrange = lvwAutoTop
End With
Option1(0).Caption = "16 * 16 pixeles"
Option1(1).Caption = "32 * 32 pixeles"
Option1(2).Caption = "48 * 48 pixeles"
Option1(3).Caption = "64 * 64 pixeles"
Option1(4).Caption = "128 * 128 pixeles"
End Sub