Autor |
Mensaje |
xmuno
Usuario
Registrado: Febrero 2015
Mensajes: 49
Edad: 51
|
Cambiar Propiedades De Un Objeto Creado Dinamicamente
Hola,
Llevo poco tiempo con gambas y estoy aprendiendo.
He creado varios botones de manera dinamica
Dim $consul As Result
Dim btn As Button
Dim linies As New String[3]
Dim co, i_prod As Integer
Dim $prod As String
Dim posx As Integer = 230
Dim posy As Integer = 280
$consul = bd_con.con.Exec("SELECT nom,id FROM prod WHERE tip_prod='" & tprod & "'")
For co = 1 To $consul.Count
$prod = $consul!nom
i_prod = $consul!id
linies[0] = Mid$($prod, 1, 11)
linies[1] = Mid$($prod, 12, 11)
linies[2] = Mid$($prod, 23, 11)
btn = New Button(Me) As "btn_prod"
btn.text = linies[0] & "\n" & linies[1] & "\n" & linies[2]
btn.Width = 90
btn.height = 90
btn.x = posx
btn.y = posy
btn.tag = i_prod
posx = posx + 100
If co = 7 Or co = 14 Or co = 21 Then
posy = posy + 90
posx = 230
Endif
'If co > 36 Then
' btn_sp.Visible = True
' Break
'Endif
$consul.MoveNext
Next
Aunque el codigo muy probablemente es mejorable(me gustaria algo de orientación), funciona. La cuestión es que no sé como modificar propiedades de uno de los botones....o elimininarlo...
Gracias de antemano.
|
#1 Miercoles, 03 Junio 2015, 10:07 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 50 Ubicación: dos hermanas, sevilla
|
Re: Cambiar Propiedades De Un Objeto Creado Dinamicamente
xmuno:
Lo podrias meter en un array de botones, asi sabes :
public ArrayBotones as new Object[]
....
.....
ArrayBotones.add(btn)
....
Luego usa el objeto "Last", para saber el ultimo objeto que que tiene el foco, y si es un boton lo anulas.
Mirate estos enlaces:
http://cursogambas.blogspot.com.es/...nte-codigo.html
http://cursogambas.blogspot.com.es/...bjeto-last.html
|
#2 Miercoles, 03 Junio 2015, 10:18 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Cambiar Propiedades De Un Objeto Creado Dinamicamente
Citar: Aunque el codigo muy probablemente es mejorable(me gustaria algo de orientación), funciona. La cuestión es que no sé como modificar propiedades de uno de los botones....o elimininarlo...
Bueno... lo de cambiar las propiedades, es lo que ya has hecho cada vez que modificabas una de ellas (btn.width = 90, por ejemplo)
Para eliminarlo simplemente, si no recuerdo mal de las ayudas, asígnale un valor null (btn=Null)
=================== No podemos regresar
|
#3 Miercoles, 03 Junio 2015, 11:33 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Cambiar Propiedades De Un Objeto Creado Dinamicamente
...pero si tú quieres eliminar arbitrariamente un Button, tienes que identificarlo de una su propiedad.
Por ejemplo, vamos a suponer que queremos anular el botón que tiene el valor de Tag = 3.
Colocamos un Button adicional, y pulsando sobre eso:
|
#4 Miercoles, 03 Junio 2015, 13:00 |
|
|
xmuno
Usuario
Registrado: Febrero 2015
Mensajes: 49
Edad: 51
|
Re: Cambiar Propiedades De Un Objeto Creado Dinamicamente
Gracias a todos.
Voy a poner en practica lo que me comentais.
|
#5 Miercoles, 03 Junio 2015, 14:38 |
|
|
xmuno
Usuario
Registrado: Febrero 2015
Mensajes: 49
Edad: 51
|
Re: Cambiar Propiedades De Un Objeto Creado Dinamicamente
Hola,
El codigo de vuott me da "error"...
"Discordancia de tipos: se requiere button y se ha obtenido label"
Me imagino que habrá que filtrar por tipos de control...no tengo ni idea de como hacerlo.
Gracias
|
#6 Miercoles, 03 Junio 2015, 15:33 |
|
|
xmuno
Usuario
Registrado: Febrero 2015
Mensajes: 49
Edad: 51
|
Re: Cambiar Propiedades De Un Objeto Creado Dinamicamente
Bueno...creo que he avanzado algo.
Asi si funciona:
Gracias a todos
|
#7 Miercoles, 03 Junio 2015, 16:09 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Cambiar Propiedades De Un Objeto Creado Dinamicamente
Bravo, xmuno.
|
#8 Miercoles, 03 Junio 2015, 20:07 |
|
|
|