Me encuentro un problema con DirView, o me ocupa poco o me ocupa mucho en el formulario.
¿ Conocéis el programa Pix ?. Donde se encuentra el arbol de directorio no es movible automáticamente.
No se ensancha al aumentar el tamaño del formulario ( algo de contenedores es la solución).
Podía hacer que no se desplazara el área que ocupa DirView, pero si el directorio es algo largo a lo mejor no se ve su nombre.
He usado un HSplit.
Este es su código:
Const ANCHOIMAGEN As Integer = 128
Const ALTOIMAGEN As Integer = 128
Private HPanel1 As HPanel
Public Sub Form_Open()
ScrollView1.Arrangement = Arrange.Vertical
'Clave
HSplit1.Layout = [2, 4]
'Esto no se puede usar dentro del procedimiento CrearImagenes, crearía un hPanel por cada cambio de directorio
HPanel1 = New HPanel(ScrollView1)
HPanel1.Spacing = True
HPanel1.AutoResize = True
End
Public Sub CrearImagenes(cimagenes As String[], Optional ruta As String = User.Home &/ "Imágenes/")
Dim unpicturebox As PictureBox
Dim unaimagen As Image
Dim i As Integer
For i = 0 To cimagenes.Max
unaimagen = Image.Load(ruta &/ cimagenes[i])
unaimagen = unaimagen.Stretch(ANCHOIMAGEN, ALTOIMAGEN)
unpicturebox = New PictureBox(HPanel1)
With unpicturebox
.W = ANCHOIMAGEN
.H = ALTOIMAGEN
.Border = Border.Solid
.Picture = unaimagen.Picture
End With
Next
End
Public Sub DirView1_Select()
Dim nomimagenes As New String[]
'Limpiar los objetos picturebox contenido dentro del HPanel1
HPanel1.Children.Clear
'Voy añadiendo al array los tipos de imagenes que quiero que muestre
nomimagenes = Dir(DirView1.Current, "*.png", gb.File)
nomimagenes.Insert(Dir(DirView1.Current, "*.jpg", gb.File))
CrearImagenes(nomimagenes, DirView1.Current)
End
Const ALTOIMAGEN As Integer = 128
Private HPanel1 As HPanel
Public Sub Form_Open()
ScrollView1.Arrangement = Arrange.Vertical
'Clave
HSplit1.Layout = [2, 4]
'Esto no se puede usar dentro del procedimiento CrearImagenes, crearía un hPanel por cada cambio de directorio
HPanel1 = New HPanel(ScrollView1)
HPanel1.Spacing = True
HPanel1.AutoResize = True
End
Public Sub CrearImagenes(cimagenes As String[], Optional ruta As String = User.Home &/ "Imágenes/")
Dim unpicturebox As PictureBox
Dim unaimagen As Image
Dim i As Integer
For i = 0 To cimagenes.Max
unaimagen = Image.Load(ruta &/ cimagenes[i])
unaimagen = unaimagen.Stretch(ANCHOIMAGEN, ALTOIMAGEN)
unpicturebox = New PictureBox(HPanel1)
With unpicturebox
.W = ANCHOIMAGEN
.H = ALTOIMAGEN
.Border = Border.Solid
.Picture = unaimagen.Picture
End With
Next
End
Public Sub DirView1_Select()
Dim nomimagenes As New String[]
'Limpiar los objetos picturebox contenido dentro del HPanel1
HPanel1.Children.Clear
'Voy añadiendo al array los tipos de imagenes que quiero que muestre
nomimagenes = Dir(DirView1.Current, "*.png", gb.File)
nomimagenes.Insert(Dir(DirView1.Current, "*.jpg", gb.File))
CrearImagenes(nomimagenes, DirView1.Current)
End
Y aquí el ejemplo. No he añadido ver la imagen al completo, no me interesa por ahora.
Lo tengo reservado para otra cosa.
A ver que me decís del problema del tamaño que ocupa DirView en el formulario al expandir el formulario o al reducirlo.
Saludos
NavegadorDeImagenes.tar.gz | ||
Descripción: | Ejemplo de navegador de imágenes | Descargar |
Nombre del archivo: | NavegadorDeImagenes.tar.gz | |
Tamaño: | 13.45 KB | |
Descargado: | 66 veces |
NavegadorDeImagenes.tar.gz | ||
Descripción: | Ejemplo de navegador de imágenes | Descargar |
Nombre del archivo: | NavegadorDeImagenes.tar.gz | |
Tamaño: | 13.45 KB | |
Descargado: | 66 veces |
NavegadorDeImagenes.tar.gz | ||
Descripción: | Ejemplo de navegador de imágenes | Descargar |
Nombre del archivo: | NavegadorDeImagenes.tar.gz | |
Tamaño: | 13.45 KB | |
Descargado: | 66 veces |