Comunidad Gambas-es
Meter en un grupo a controles creados en tiempo de ejecucion ¿Como se hace? - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forum-3.html)
+--- Foro: Aplicaciones/Fragmentos de Código (https://gambas-es.org/forum-8.html)
+--- Tema: Meter en un grupo a controles creados en tiempo de ejecucion ¿Como se hace? (/thread-2021.html)



Meter en un grupo a controles creados en tiempo de ejecucion ¿Como se hace? - tincho - 26-07-2026

Hola a todos, espero que se encuntren bien.

Luego de bastante tiempo sin programar en gambas intento hacer un programa y me tope con un inconveniente.
Los controles creados en tiempo de ejecucion no tienen la propiedad "group"
Creo que algo se hablo de este tema en otros articulos pero solo encontre este articulo:
https://gambas-es.org/thread-1684-post-8535.html?highlight=group#pid8535
¿Como podria agregar un observador del evento click de esos controles?
chatgpt me dice que use esto:
Código:
b = New ToolButton(pCad)
        b.Tag = "cad/" & sTag
        b.Action = sTag
        b.H = z
        b.W = z
        Link b.Click, Me, "tools_Click"
(pero no funciona)
[Imagen: F0tPjjCl.png]

Respuesta:
Hay que crear el control de esta manera:
Código:
b = New ToolButton(Panel2) As "tools"

Y luego hay que poner el codigo en el evento:
Código:
Public Sub tools_Click()
' Code here
End


Adjunto un proyecto de ejemplo por si alguien desea echarle un vistazo.
Saludos.


RE: Meter en un grupo a controles creados en tiempo de ejecucion ¿Como se hace? - guizans - 26-07-2026

Hola.

Una forma de resolver el problema es, que hacer cada vez que creas controles por código, es asignarle un observador de eventos al botón. Una vez hecho esto, creas la función que disparará el evento que quieras.

Subo tu código con los cambios que he hecho, a ver si es lo que buscas.

Un saludo.


RE: Meter en un grupo a controles creados en tiempo de ejecucion ¿Como se hace? - cogier - 27-07-2026

Puedes añadir un «Grupo». Echa un vistazo a este código.


RE: Meter en un grupo a controles creados en tiempo de ejecucion ¿Como se hace? - tincho - 27-07-2026

(26-07-2026, 18:26)guizans escribió: Hola.

Una forma de resolver el problema es, que hacer cada vez que creas controles por código, es asignarle un observador de eventos al botón. Una vez hecho esto, creas la función que disparará el evento que quieras.

Subo tu código con los cambios que he hecho, a ver si es lo que buscas.

Un saludo.

Funciono perfectamente.
Gracias

(27-07-2026, 08:58)cogier escribió: Puedes añadir un «Grupo». Echa un vistazo a este código.

Gracias Cogier, funciona perfectamente.