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

Label dentro de PictureBox

Estas en el tema de Label dentro de PictureBox en el foro de Visual Basic clásico en Foros del Web. Hola de nuevo: Se trata de tener en un Form, varios PictureBox1 con un Label1 dentro, que en principio no se sabe cuantos va a ...
  #1 (permalink)  
Antiguo 29/05/2007, 14:17
 
Fecha de Ingreso: agosto-2006
Mensajes: 45
Antigüedad: 17 años, 8 meses
Puntos: 0
Label dentro de PictureBox

Hola de nuevo:
Se trata de tener en un Form, varios PictureBox1 con un Label1 dentro, que en principio no se sabe cuantos va a tener, minimo 1 máximo 6.
En el inicio
Tengo creado un PictureBox1(0) que dentro tiene un Label1(0).
En ejecución se generan nuevos PictureBox1.
Hasta aquí normal, con Load PictureBox1(x), etc.
Pero cada PictureBox1(x) tiene que tener también un Label1(x) dentro de el, y esto es lo que no se hacer, por que el Label1(x) lo genero lógicamente con Load Label1(x) pero no está dentro del PictureBox1(x).
La razón de esto es que luego con Drag&Drop, se pueden mover Los PictureBox1(x) por el Form, pero también se tiene que mover con él su Label1(x) correspondiente.
Alguna idea de como resolverlo ?.
Muchas gracias de antemano a quien quiera ayudarme.
  #2 (permalink)  
Antiguo 30/05/2007, 01:45
 
Fecha de Ingreso: mayo-2007
Mensajes: 13
Antigüedad: 17 años
Puntos: 0
Re: Label dentro de PictureBox

Cita:
Iniciado por F_rank_cisco Ver Mensaje
Hola de nuevo:
Se trata de tener en un Form, varios PictureBox1 con un Label1 dentro, que en principio no se sabe cuantos va a tener, minimo 1 máximo 6.
En el inicio
Tengo creado un PictureBox1(0) que dentro tiene un Label1(0).
En ejecución se generan nuevos PictureBox1.
Hasta aquí normal, con Load PictureBox1(x), etc.
Pero cada PictureBox1(x) tiene que tener también un Label1(x) dentro de el, y esto es lo que no se hacer, por que el Label1(x) lo genero lógicamente con Load Label1(x) pero no está dentro del PictureBox1(x).
La razón de esto es que luego con Drag&Drop, se pueden mover Los PictureBox1(x) por el Form, pero también se tiene que mover con él su Label1(x) correspondiente.
Alguna idea de como resolverlo ?.
Muchas gracias de antemano a quien quiera ayudarme.
Hola. A bote pronto, lo único que se me ocurre es que generes tu propio control ActiveX con el PictureBox y el Label. Así cada vez que crees una nueva instancia a este control, mantendrá la forma que le diste al crearlo.

Espero haberte ayudado, salu2
  #3 (permalink)  
Antiguo 30/05/2007, 05:11
 
Fecha de Ingreso: mayo-2007
Mensajes: 74
Antigüedad: 17 años
Puntos: 1
Re: Label dentro de PictureBox

label1.Container = picture1
Atención que la posición del label en el contenedor se mide desde los bordes de este (top y left)
  #4 (permalink)  
Antiguo 30/05/2007, 07:33
 
Fecha de Ingreso: agosto-2006
Mensajes: 45
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Label dentro de PictureBox

Gracias a los dos.
jonasval, esta solución yo no sé hacerla, y además la de fero es más simple.
Pero fero, así no funciona, pero se me ocurrió probando así:

Set Label1(x).Container = Picture1(x)
Y esto si funciona por que ?, me interesa saberlo para aprender.
Gracias.
  #5 (permalink)  
Antiguo 30/05/2007, 10:07
 
Fecha de Ingreso: mayo-2007
Mensajes: 74
Antigüedad: 17 años
Puntos: 1
Re: Label dentro de PictureBox

Porque tenés una matriz de controles.
Tus pictureboxs y labels se llaman picture1(n) y label1(n) con n= 0, 1, 2 etc.
en lugar de picture1 y label1.
Y si, va Set, me olvidé de ponerlo.
  #6 (permalink)  
Antiguo 30/05/2007, 15:19
 
Fecha de Ingreso: agosto-2006
Mensajes: 45
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Label dentro de PictureBox

Gracias fero.
Yo creía que poniendo Picture1(x), que es una matriz de controles con label's, se entendería igual que Picture1(n) y Label1(n).
La próxima vez que consulte pondre (n) en las matrices
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 11:47.