Ejemplo De Navegador De Imágenes


Objetivo: Ejemplo De Navegador De Imágenes
Buenos días!.

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


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: 68 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: 68 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: 68 veces

Objetivo: Re: Ejemplo De Navegador De Imágenes
Cambia el arrangement de Panel1 a "Fill".

Saludos.

Perfil MP  
Objetivo: Re: Ejemplo De Navegador De Imágenes
shordi escribió: [Ver mensaje]
Cambia el arrangement de Panel1 a "Fill".


Comprobaré si así no queda tan grande.

Saludos

Objetivo: Re: Ejemplo De Navegador De Imágenes
Echa un vistazo al código adjunto. Creo que esto resuelve tu problema.


NavegadorDeImagenesCO.tar.gz
Descripción:  
Descargar
Nombre del archivo: NavegadorDeImagenesCO.tar.gz
Tamaño: 13.72 KB
Descargado: 65 veces
NavegadorDeImagenesCO.tar.gz
Descripción:  
Descargar
Nombre del archivo: NavegadorDeImagenesCO.tar.gz
Tamaño: 13.72 KB
Descargado: 65 veces
NavegadorDeImagenesCO.tar.gz
Descripción:  
Descargar
Nombre del archivo: NavegadorDeImagenesCO.tar.gz
Tamaño: 13.72 KB
Descargado: 65 veces

Perfil MP  
Objetivo: Re: Ejemplo De Navegador De Imágenes
Cogier:

Citar:

Echa un vistazo al código adjunto. Creo que esto resuelve tu problema.


Gracias!. Ahora el funcionamiento del tamaño es mucho mejor.

El valor de iSplit es una constante, aunque no usaste declaración Const.
¿ Lo calculaste a ojo ?.

Shordi:

Aunque cambié la propiedad que me comentabas, seguía siendo demasiado grande el dirView, casi al centro se extendía cuando se
maximizaba el formulario.

Saludos

Objetivo: Re: Ejemplo De Navegador De Imágenes
Citar:

El valor de iSplit es una constante, aunque no usaste declaración Const.


iSplit no es una constante. Su valor cambia dependiendo del tamaño de la ventana izquierda.

Public Sub HSplit1_Resize() ''***************************

isplit = HSplit1.Layout[0]

End

última edición por cogier el Domingo, 12 May 2019, 14:40; editado 1 vez
Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4411s (PHP: -78% SQL: 178%)
Consultas SQL: 48 - Debug off - GZIP Activado