Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Ejemplo De Navegador De Imágenes
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje 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
 




===================
Gambas Básico
“Si no puedes explicar algo de forma sencilla, entonces es que tú no lo entiendes bien.” Albert Einstein
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ejemplo De Navegador De Imágenes 
 
Cambia el arrangement de Panel1 a "Fill".

Saludos.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ejemplo De Navegador De Imágenes 
 
shordi escribió:  
Cambia el arrangement de Panel1 a "Fill".


Comprobaré si así no queda tan grande.

Saludos
 




===================
Gambas Básico
“Si no puedes explicar algo de forma sencilla, entonces es que tú no lo entiendes bien.” Albert Einstein
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ejemplo De Navegador De Imágenes 
 
Echa un vistazo al código adjunto. Creo que esto resuelve tu problema.
 



 
cogier - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 




===================
Gambas Básico
“Si no puedes explicar algo de forma sencilla, entonces es que tú no lo entiendes bien.” Albert Einstein
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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, 15:40; editado 1 vez 
cogier - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Ejemplo De Troceador De Imágenes Shell Aplicaciones/Fragmentos de Código 2 Jueves, 10 May 2012, 14:11 Ver último mensaje
Shell
No hay nuevos mensajes Crear Navegador Radietor General 27 Martes, 09 Noviembre 2010, 23:03 Ver último mensaje
Invitado
No hay nuevos mensajes Ayuda Con Navegador Web De Gambas luisrel General 0 Lunes, 22 Noviembre 2010, 20:26 Ver último mensaje
luisrel
No hay nuevos mensajes Necesito Ayuda Con Un Navegador vfranco Controles/Librerías/Componentes 1 Lunes, 19 Julio 2010, 06:27 Ver último mensaje
hostinglobal
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
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
No puede descargar archivos
No puede publicar eventos en el calendario