Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Cambiar Propiedades De Un Objeto Creado Dinamicamente
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje 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.
 



 
xmuno - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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:
Public Sub Button1_Click()

  Dim bt As Button
  
    For Each bt In FMain.Children
      If bt.Tag = 3 Then bt.Delete
    Next

End

 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cambiar Propiedades De Un Objeto Creado Dinamicamente 
 
Gracias a todos.

Voy a poner en practica lo que me comentais.
 



 
xmuno - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 



 
xmuno - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cambiar Propiedades De Un Objeto Creado Dinamicamente 
 
Bueno...creo que he avanzado algo.

Asi si funciona:
Dim bt As Object
  
    For Each bt In Me.Children
      If bt Is Button Then
      If bt.tag = 3 Then bt.text = "ACEPTAR"
      Endif
    Next
 


Gracias a todos
 



 
xmuno - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cambiar Propiedades De Un Objeto Creado Dinamicamente 
 
Bravo, xmuno.  
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Lista De Propiedades De Un Nuevo Component... Shell General 2 Jueves, 05 Febrero 2015, 01:06 Ver último mensaje
Shell
No hay nuevos mensajes Como Generar Un Evento Creado Por Ti? v3ctor General 9 Miercoles, 06 Enero 2016, 11:29 Ver último mensaje
jsbsan
No hay nuevos mensajes Definir Propiedades O Atributos De Un Objeto Shell General 9 Lunes, 31 Octobre 2016, 11:30 Ver último mensaje
shordi
No hay nuevos mensajes Crear Objeto Y Ponerlo Como El Objeto Supe... gambafeliz General 4 Martes, 23 Junio 2020, 07:29 Ver último mensaje
v3ctor
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
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
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron