Problemas Con Botones Y Etiquetas Generad@s Por Codigo SOLUCIONADO


Objetivo: Problemas Con Botones Y Etiquetas Generad@s Por Codigo SOLUCIONADO
Os pongo el código que tengo, en principio no da problemas, me genera los botones y etiquetas perfectamente.

Mi pregunta es :
¿ Cómo puedo aceder a las propiedades de (Eti) desde btnTerminal_Click() ?
Gracias de antemano, llevo 3 dias yno lo consigo.

PUBLIC PROCEDURE NuevoBoton()
DIM X AS Integer = 0 ' Puedes establecer una posición inicial
DIM Y AS Integer = 35 ' Puedes establecer una posición inicial
DIM i, q AS Integer
DIM btn AS Button ' En este caso es un botón
DIM Eti AS Label ' En este caso es un botón

FOR i = 0 TO 5
btn = NEW Button(ME) AS "btnTerminal"
Eti = NEW Label(ME) AS "EtiquetaReloj"
' Se crea un botón en el form, que será parte del grupo btnTerminal
btn.X = X
btn.Y = y
btn.W = 32
btn.H = 32
q = i + 1
btn.Text = "T" & q
btn.BackColor = &5FFF5F
Eti.Visible = FALSE
Eti.ForeColor = &HFFFF3F
Eti.name = "Terminaĺ" & q
Eti.Text = "Terminaĺ" & q
Eti.x = 40
Eti.Y = btn.Y
y += 32 ' Se aumenta y
NEXT

END

PUBLIC SUB btnTerminal_Click()
SELECT CASE LAST.tag 'last.tag es el botón pulsado
CASE 1
' CASE 2
' CASE 3
END SELECT
END

última edición por desoljor el Viernes, 18 Febrero 2011, 11:18; editado 1 vez
Perfil MP  
Objetivo: Re: Problemas Con Botones Y Etiquetas Generad@s Por Codigo
cometí un error. Ahora lo corrijo, entendí mal la pregunta.

Yo lo haría mediante un array de objects creados a nivel de clase para que sean visibles en toda la clase. Para no liar lo mas sencillo es guardar el índice en el tag, pero como has usado el tag para otra cosa otro sitio donde tienes el índice es en el número que guardas en el text. Si el número es 1 el índice es 0. Si el número es 7 el índice es 6.
private Botones as new object[]
private Etiquetas as new object[]

En el bucle incluir los controles en los arrays correspondientes.
FOR i = 0 TO 5
btn = NEW Button(ME) AS "btnTerminal"
botones.add(btn)

Eti = NEW Label(ME) AS "EtiquetaReloj"
Etiquetas.add(Eti)
...
...

Ahora tienes un array de botones y otro de etiquetas. Si pulsan el botón dos tu tienes que ir al array de etiquetas y coger el 2.
PUBLIC SUB btnTerminal_Click()
dim Numero as integer
Numero=cint(mid(last.text,2)) 'coger los caracteres a partir de la posicion 2 y convertirlos a integer
SELECT CASE LAST.tag 'last.tag es el botón pulsado
CASE 1
' CASE 2
' CASE 3
END SELECT
print etiquetas[Numero].text 'acceder al text de la etiqueta que tenga por índice el Numero
END

última edición por soplo el Martes, 15 Febrero 2011, 21:36; editado 2 veces
Perfil MP  
Objetivo: Re: Problemas Con Botones Y Etiquetas Generad@s Por Codigo
Si tienes que acceder a las eti que tienen estan en el mismo orden de creación que los botones, porque no te creas sendos array de Objects y el indice del boton pulsado, se correspondera con el indice de la etiqueta?

De este modo, siempre puedes recorrer el array y seleccionar la etiqueta que te interese por su name. Tambien puedes hacer una pequeña funcion que recorra los controles hijo del contenedor y te devuelva un objeto label que es sobre el que quieras trabajar.

Depende de que quieras hacer con Eti, hay varias posibilidades

Antonio

última edición por ahtonio el Martes, 15 Febrero 2011, 21:40; editado 1 vez
Perfil MP  
Objetivo: Re: Problemas Con Botones Y Etiquetas Generad@s Por Codigo
Gracias por tu respuesta, me ha venido muy bien.

Ahora el problema es que no me deja trabajar con los botones que he creado. un ejemplo bien sencillo

PUBLIC SUB Button1_Click()

Button1.BackColor = &FF0000

END

teniendo en cuenta que cuando los ceo btn.Name = "Button" & i

Si por ejemplo quiero cambiarle el color del boton ejecutaria el código de arriba pero no lo hace.

Perfil MP  
Objetivo: Re: Problemas Con Botones Y Etiquetas Generad@s Por Codigo
last.backcolor=&FF0000

Perfil MP  
Objetivo: Re: Problemas Con Botones Y Etiquetas Generad@s Por Codigo SOLUCIONADO
Gracias a todos por vuestra ayuda

Perfil MP  

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
No 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.0858s (PHP: -2% SQL: 102%)
Consultas SQL: 22 - Debug off - GZIP Activado