Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Matriz de controles

Estas en el tema de Matriz de controles en el foro de Visual Basic clásico en Foros del Web. Hola a todos! Tengo una duda que no sé resolver y es sobre las matrices de controles..Verán, tengo un frame que contiene un picturebox y ...
  #1 (permalink)  
Antiguo 14/03/2007, 05:35
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 17 años, 5 meses
Puntos: 3
Matriz de controles

Hola a todos! Tengo una duda que no sé resolver y es sobre las matrices de controles..Verán, tengo un frame que contiene un picturebox y un label (los dos creados como matrices de controles), en una base de datos acces tengo una tabla llamada fotos la cual contiene las rutas de las fotos por cada cliente y un nombre de foto para el label) cada cliente posee una cantidad indefinida de fotos las cuales necesito mostrar en el frame y segun las fotos que tenga el cliente ir creando dinamicamente los picturebox y label donde se mostraran las imagenes y el nombre de estas.
No consigo hacerlo y me gustaria si alguien tiene algun ejemplo o sabe como hacerlo me lo dijese, le estaria muy agradecido.
Un saludo
  #2 (permalink)  
Antiguo 14/03/2007, 08:03
Avatar de tazzito  
Fecha de Ingreso: agosto-2006
Mensajes: 381
Antigüedad: 17 años, 8 meses
Puntos: 2
Re: Matriz de controles

Komodo,

veamos tienes que tener un control picture y label con la propieda indice en 0 (de ambos), ahora para crear una matriz de controles es
x=0
do until tuRecordsetdeDatos.eof
x=x+1
Load Me.PictMaestro(x + 1)
Me.PictMaestro(x + 1).visible=true
Load Me.LBLMaestro(x + 1)
Me.LBLMaestro(x + 1).visible=true

ME.PictMaestro.Picture= LoadPicture(Ruta & "\" & TuRecurdsetDeDatos!NombreImagen)
Me.LBLMaestro(x + 1).Caption=TuRecurdsetDeDatos!NombreImagen

TuRecurdsetDeDatos.movenext
loop
TotalObjetosCreados = x

ahora tendra que ingeniartelas tu para posicionar cada picture en otra posicion, por que por defecto aparecera en la misma de la matriz. seria mas menos algo asi (ejemplo para crear un picture abajo de otro cada 100 Pixceles
me.PictMaestro(X).Top = x*100


al momento de destruirlos es algo asi mas menos
for x= 1 to TotalObjetosCreados
Unload Me.PictMaestro(x)
Unload Me.lblMaestro(x)
Next


mmm es una sugerencia, yo nunca trabaje con pict en matriz de controles pero si otros tipos y trabajandolo asi nunca tuve problemas.
  #3 (permalink)  
Antiguo 14/03/2007, 14:17
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 17 años, 5 meses
Puntos: 3
Re: Matriz de controles

Hola tazzito! Gracias por la respuesta, probaré y haber que tal va.
Un saludo!
  #4 (permalink)  
Antiguo 15/03/2007, 03:58
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 17 años, 5 meses
Puntos: 3
Re: Matriz de controles

Hola de nuevo! Probé ese codigo y me funcionó, muchas gracias. Ahora el problema es para mostrar las imagenes, tengo que mostrarlas una al lado de otra y utilizo el siguiente codigo:

Me.Image_foto(X).Left = Me.Image_foto(X).Width

El problema és que me muestra la segunda foto al lado de la primera pero la tercera y las siguientes ya no..Como podria hacerlo?

También me he encontrado con el problema de que al recorrer el recordset los controles no se eliminan y al cargar otro cliente me muestra las mismas imagenes.
Un saludo

Última edición por komodo; 15/03/2007 a las 05:31
  #5 (permalink)  
Antiguo 15/03/2007, 07:26
Avatar de tazzito  
Fecha de Ingreso: agosto-2006
Mensajes: 381
Antigüedad: 17 años, 8 meses
Puntos: 2
Re: Matriz de controles

prueba con Me.Image_foto(X).Left = Me.Image_foto(0).Width * x si todos los picture los tienes del mismo porte (incluso el primero), si varia el tamaño tendras que tener una variable que se valla incrementando de acuerdo al tamaño del picture creado, ejemplo

miWith=0
dentro del ciclo que crear el picture y despues de crearlo y modificarlo
Me.Image_foto(X).Left = miWith
miWith = MiWith + Me.Image_foto(X).Width + 10


asi se ira incrementando el tamaño del pict anterior mas 10 (un ligero espacio)
  #6 (permalink)  
Antiguo 15/03/2007, 09:24
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 17 años, 5 meses
Puntos: 3
Re: Matriz de controles

Hola tazzito! Muchas gracias por tu colaboración, me estas ayudando mucho. Ahora por fin ya me muestra bien las imagenes una al lado de otra.

Una última ayuda si és posible..Como elimino los controles creados cada vez que recorra el recordset y asi mostrar las imagenes del cliente seleccionado? He probado con el codigo que me has puesto mas arriba pero no hay manera..

Un saludo
  #7 (permalink)  
Antiguo 15/03/2007, 10:16
Avatar de tazzito  
Fecha de Ingreso: agosto-2006
Mensajes: 381
Antigüedad: 17 años, 8 meses
Puntos: 2
Re: Matriz de controles

Komodo,

crea una variable a nivel de formulario inicializandola en 0 (cero) en el load, cada vez que vallas a mostrar las imagenes (ANTES) antes recorre con un for hasta esa variable ej

for x= 1 to TotalObjCreados
unload Me.Image_foto(x)
unload me.Label_foto(x)
Next
TotalObjCreados = 0
x=0

y despues de crear los controles al salir del ciclo pon
TotalObjCreados = x
  #8 (permalink)  
Antiguo 29/03/2007, 12:26
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 17 años, 5 meses
Puntos: 3
Re: Matriz de controles

Gracias tazzito me has sido de gran ayuda..

Un saludo!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:23.