Visual Basic - Añadir control en tiempo de ejecución.

Life is soft - evento anual de software empresarial
 
Vista:

Añadir control en tiempo de ejecución.

Publicado por Westmad (120 intervenciones) el 27/01/2003 17:40:21
Alguien me puede explicar como añadir varios labels en tiempo de ejecución.
Importante: la cantidad de labels variará entre 0 y los que el cliente elija, que yo no puedo saber.
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Añadir control en tiempo de ejecución.

Publicado por Pedro Luis (878 intervenciones) el 27/01/2003 19:17:02
Si tienes creada un etiqueta (label(0)) usa load.label(1).
Es muy posible que te la cree en el mismo sitio en la que esté la 0, por lo que tenfrás que moverla e incluso hacerla visible, o sea tocar las propiedades
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Añadir control en tiempo de ejecución.

Publicado por Rodolfo del Peru (454 intervenciones) el 27/01/2003 19:20:38
Para crear un control label puedes hacerlo asi:

Dim lblObj1 As Label
Set lblObj1 = Me.Controls.Add("VB.Label", "Label1")

Saludos desde Lima
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pero si quiero hacer clic...

Publicado por Westmad (120 intervenciones) el 27/01/2003 19:54:19
sunpongamos que el cliente quiere que aparezcan 5 labels. en cada uno de esos labels, mediante una bd datos les darén un caption distinto a cada uno, y el cliente escojerá el que le interesa.
Pero como hago el evento de Clic sobre un determinado label.
Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pero si quiero hacer clic...

Publicado por josé (129 intervenciones) el 27/01/2003 20:23:39
No entiendo lo del evento Click para un Label, pero yo aprendí a crear un objeto en general así:

Por ejemplo, para un Label:

(Generales)-(Declaraciones)
Private WithEvents Lb As Label

Suponiendo que el objeto se crea al pulsar un CommandButton:
Set Lb = Controls.Add("VB.Label", "Etiqueta")
Lb.Visible = True
Lb.Caption = "Etiqueta 1"

Los eventos, yo los escribo a pie, porque el control no está en diseño sino en ejecución, por ejemplo:

Esto lo escribe uno mismo:
Private Sub Lb_Click()
End 'por ejemplo que haga esto.
End Sub

Si dice en un combo de la ventana código: Lb y en la otra Click
entonces significa de que si reconoce que sea un objeto de nombre Lb y de evento Click, pero si dice en el evento Lb_Click, entonces es porque el VB piensa que es una función de nombre Lb_Click y no el evento de un control identificado como Lb.

Pero al crearlo, aparecera en el borde superior izquierdo del Form como inicio de una Matriz, por decirlo así, tienes que especificar posicionarlo en donde lo consideres necesario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pero si quiero hacer clic...

Publicado por Westmad (120 intervenciones) el 27/01/2003 20:59:19
Pero el evento que tu me explicas solo vale si haces un solo label, pero el problemas mío es que voy a hacer varios labels, pero no se cuantos.
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pero si quiero hacer clic...

Publicado por maCo (30 intervenciones) el 27/01/2003 22:07:35
pon un Label en tu aplicacion y en su propiedad index le pones 0.
lo que hace eso es crear un array de controles label.
cuando quieras crear un nuevo label usas LOAD()

ahora como detectas el click de todos los labels ?
pues vb creara un evento asi:
Private Sub Label1Click(Index As Integer)
' codigo
End Sub

donde Index es es el identificador del control label y segun el index hacer lo que quieras.
No te olvides de descargar los Labels que cargaste, usa UNLOAD()
si no perderas memoria
maCo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Lo útlimo...

Publicado por Westmad (120 intervenciones) el 27/01/2003 23:09:46
pero como uso el load() y el unload(), que es que de eso no tengo ni idea.
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Lo útlimo...

Publicado por maCo (123 intervenciones) el 28/01/2003 18:26:50
bueno quieres aprender ? o copiar ?
hay muchos tutorials de vb que te explican cosas

Load(control)
UnLoad(control)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Lo útlimo...

Publicado por Pedro Luis (878 intervenciones) el 29/01/2003 14:06:18
Proverbio Chino
Para hacer una pregunta hay que saber más de la mitad de la respuesta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar