Matriz De PictureBox


Objetivo: Matriz De PictureBox
buenas noches amigos.
Esta hecho en gambas3

tengo un apuro(problema) y espero sus asesorias, comentarios, regaños.
Para hacer mas o menos un Visualizador de imagenes o fotos.

He creado esta matriz de controles, pero tengo problemas, por ahora son 4, es decir 2 x 2. pero quiero que sean de n x n. Además tambien quiero que cada picture tenga contenido diferente. Otra cosa es que tengan el evento de arrastrar y soltar al cuadro de a lado y que se auto ajuste. Pero ya le busque y no puedo, espero que me ayuden. La verdad no se en que estoy mal ya llevo un mes y es para un proyecto de la esc. Orientenme por favor, no quiero que me hagan el trabajo, solo quiero ideas, sino que chiste. Gracias y disculpen, por las molestias.

Se podria decir que es como un visualizador de fotos, o imagenes. como el que tiene el programa cheese, nada mas que como matriz.

pantallazo_testwebcam_1273551130_698978


y quiero que tenga algo como esto:

pantallazo_testwebcam_1


como les decia quiero que el grupo o matriz de picture todos sus componentes tengan las mismas medidas, separación de imagen a imagen, pero que el contenido o imagen sea diferente, y no abarque mas que la mitad del el formulario, para que la otra mitad pueda meter mas controles como edicion, etc., y que sea de arrastrar y soltar. por favor solo tengo 20 diás, para entregarlo y ya llevo perdido un mes. orientenme. gracias.

Este es el codigo:

' gambas class file
Public Objetos As Object[]
Public Pic As PictureBox

Public Sub Form_Open()
controles()
End

Public Sub controles()

Dim x, y, aux_x, aux_y, i As Integer
Objetos = New Object[]

aux_x = -10
aux_y = -20

For x = 0 To 1 'filas
For y = 0 To 1 'columnas
Pic = New picturebox(Me) As "pantallas"
Pic.Border = 2
Pic.w = 320
Pic.h = 240
Pic.x = (x * 660) / 2 '((x * 680) + (FMain.Width - Pic.x * 680)) / 2
Pic.y = (y * 500) / 2
Objetos.Add(Pic)
Next
Next

End

'''''''''''''''''''''''''''
el formulario en sus propiedades lo puse maximizado

Gracias por tomarse la molestia de leer este mensaje.

última edición por skhaliburg el Martes, 11 May 2010, 13:09; editado 4 veces

VisualizadorImagenes.zip
Descripción: Abrir con Gambas3 
Descargar
Nombre del archivo: VisualizadorImagenes.zip
Tamaño: 8.32 KB
Descargado: 126 veces
VisualizadorImagenes.zip
Descripción: Abrir con Gambas3 
Descargar
Nombre del archivo: VisualizadorImagenes.zip
Tamaño: 8.32 KB
Descargado: 126 veces
VisualizadorImagenes.zip
Descripción: Abrir con Gambas3 
Descargar
Nombre del archivo: VisualizadorImagenes.zip
Tamaño: 8.32 KB
Descargado: 126 veces

Perfil MP  
Objetivo: Re: Matriz De PictureBox
Hola skhaliburg
Aquí te dejo el ejemplo que me puse a hacer en esta mañana, lo unico que no pude hacer es que se pudiera arrastrar la imagen hasta el visor de imagen pero lo que hice fue que al darle doble click en el visor de imagen cambiara la imagen..!! Se pueden crear 5 filas cada fila contiene 3 picturebox

Aquí te dejo el código y las imágenes
' gambas class file

PUBLIC px AS Integer[]
PUBLIC py AS Integer[]
PUBLIC img_rand AS NEW Integer[]

PUBLIC SUB Form_Open()
DIM i AS Integer = 0
DIM o AS Integer
ME.Width = 980
ME.Height = 550
'Array para las imágenes aleatoria
img_rand = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
'Posición x de los PictureBox
px = [7, 154, 301]
'Posición y de los PictureBox
'Para agregar otro debes sumar el ultimo valor de py + 147
py = [14, 161, 308, 455, 602]
'Ciclo For para cargar los PictureBox i cuenta cuantos PictureBox se van a crear
FOR i = 0 TO 2 'Cambiar el 2 por la cantidad de filas de Los pictureBox
'Se pueden crear 5 Filas de PictureBox ya que tengo 16 imágenes
FOR o = 0 TO 2
cargar_pictbox(px[o], py[i])
NEXT
NEXT
'Cargar Visor de foto
Vis_Foto()
END

'Función para crear los Pinturero
PUBLIC FUNCTION cargar_pictbox(x AS Integer, y AS Integer)
DIM pictureboxs AS NEW PictureBox(ME) AS "PictureBoxs"
pictureboxs.X = x
pictureboxs.Y = y
pictureboxs.Height = 133
pictureboxs.Width = 133
pictureboxs.Stretch = TRUE
pictureboxs.Border = Border.Sunken
pictureboxs.Picture = Picture["imagenes" &/ rand_imagen() & ".jpg"]
END

'Función para cargar las imágenes aleatoriamente
PUBLIC FUNCTION rand_imagen() AS Integer
DIM i, r AS Integer
r = Rnd(0, img_rand.Count - 1)
i = img_rand[r]
img_rand.Remove(r)
RETURN i
END

PUBLIC SUB PictureBoxs_DblClick()
pictureb.Picture = LAST.Picture
END

'Crea el TabStrip y el Picture dentro del TabStrip
PUBLIC TabStrip1 AS NEW TabStrip(ME)
PUBLIC pictureb AS NEW PictureBox(TabStrip1)

PUBLIC SUB Vis_Foto()
TabStrip1.Width = 450
TabStrip1.Height = 420
TabStrip1.X = 480
TabStrip1.Y = 21
TabStrip1.Text = "Visor de Imagen"
pictureb.Width = 420
pictureb.Height = 340
pictureb.X = 10
pictureb.Y = 20
pictureb.Stretch = TRUE
pictureb.Picture = Picture["imagenes/int.png"]
END


Aquí te dejo las imágenes, debes extraer la carpeta en la carpeta del proyecto
Descargar Ejemplo

Ahora te dejo el proyecto pero esta creado en Gambas2.20.2
Descargar Ejemplo

Espero que te Sirva Saludos..!!

última edición por chen_08 el Martes, 11 May 2010, 17:36; editado 1 vez
Objetivo: Re: Matriz De PictureBox
Citar:

quiero que el grupo o matriz de picture todos sus componentes tengan las mismas medidas

Simplemente creas los controles PictureBox, estableces sus medidas (Width, Heigth) y lo añades al arreglo.

Citar:

separación de imagen a imagen

Para controlar las posiciones de los controles PictureBox deberías usar un contenedor como HPanel y establecer su propiedad Space y Expand a TRUE.

Cuando creas los controles PictureBox deberías indicar que su contenedor (parent) sea el control HPanel, establecer la propiedad Stretch de cada uno
a TRUE y añadirlos a un arreglo (PictureBox[]).

Citar:

pero que el contenido o imagen sea diferente

Podrías cargar el nombre de archivo de cada imagen a un arreglo, por medio de la función DIR. Luego sólo recorrer el arreglo de controles PictureBox
por medio de la estructura iterativa FOR-EACH para asignar las rutas a la propiedad Picture de cada control PictureBox.

Citar:

y no abarque mas que la mitad del el formulario, para que la otra mitad pueda meter mas controles como edicion

Para realizar correctamente la distribución de los controles deberías usar los controles de alineación. Por ejemplo:

distribucioncontroles

El formulario debería tener su propiedad Arrangement establecida a Vertical.

última edición por fabianfv el Martes, 11 May 2010, 22:11; editado 2 veces
Objetivo: Re: Matriz De PictureBox
¡Excelente aporte Chen!

última edición por abarzuaf el Martes, 11 May 2010, 22:00; editado 1 vez
Perfil MP  
Objetivo: Re: Matriz De PictureBox
Muchas gracias chen_08 por la ayuda, en verdad me acaban de salvar, de un gran apuro. no tengo palabras para describir mi agradeciemiento. Por cierto tu sitio esta muy bueno tiene muchas cosas interesantes. Sitio con aportes buenos para gambas2 y gambas3. ¡¡ LO RECOMIENDO !!http://help-gambas.blogspot.com/

última edición por skhaliburg el Miercoles, 12 May 2010, 00:54; editado 1 vez
Perfil MP  
Objetivo: Re: Matriz De PictureBox
fabianfv te agradezco de igual forma y a todos los que intervinieron para regalar un poco de conocimiento

Perfil MP  
Objetivo: Re: Matriz De PictureBox
Amigos ya se dieron cuenta que aparecemos en en primer lugar en busqueda de google, al ingresar "MATRICES DE PICTUREBOX EN GAMBAS2"
Sino Chequenlo
http://www.google.com.mx/search?hl=...l=&oq=&gs_rfai=

Perfil MP  
Objetivo: Re: Matriz De PictureBox
Skhaliburg Fue un gusto poderlo ayudar...!! Espero seguir viéndolo en el foro

Saludos desde Panamá


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.1146s (PHP: 0% SQL: 100%)
Consultas SQL: 29 - Debug off - GZIP Activado