Programar Evento Click de un Botón creado en tiempo de Ejecución

Como estas experto!!

Necesito una solución para el siguiente problema:

Tengo un FORM que contiene un COMMANDGROUP. En el INIT del FORM creo unos BOTONES dentro del COMMANDGROUP a partir de una tabla llamada CATEGORÍA, con el siguiente código:

SELECT categoría
GO TOP
NombreImg="marco"
contador=1
contleft = 4
conttop = 4
intervalo = 4


SCATTER MEMVAR
LOCATE FOR mostrar = .T.
DO WHILE(FOUND())
DO CASE
CASE contador > 0 AND contador =< intervalo
NombreImg= SUBSTR(NombreImg,1,5)+ALLTRIM(str(contador))
THISFORM.commandgroup1.AddObject (NombreImg, "commandbutton")
with thisform.commandgroup1.&NombreImg
.Alignment = 2
.PicturePosition = 13
.Caption = nombre_cate
.FontBold = .T.
.width = 100
.height = 100
.Top = conttop
.Left = contleft
.picture = CURDIR()+ m.foto_cat
.visible = .T.
ENDWITH

contleft=contleft+104


IFcontador = intervalo
contleft = 4
conttop = conttop+104
intervalo = intervalo+4
ENDIF
ENDCASE
contador=contador+1
CONTINUÉ
SCATTER MEMVAR
ENDDO

///////////

Hasta aqui todo esta bien. Pero ahora necesito programar el evento click de los botones que se crean automáticamente...

1 Respuesta

Respuesta
1

Creo que después del endwith donde defines las propiedades del botón de comando deberías ubicar lo siguiente:

DEFINE CLASS thisform.commandgroup1.&NombreImg AS CommandButton
PROCEDURE Click
&&instrucciones del evento clic
ENDDEFINE

Ya lo solucione!! tuve que crear un botón clase (mibutton) y sustituir el

THISFORM.commandgroup1.AddObject (NombreImg, "commandbutton")

por

THISFORM.commandgroup1.NEWObject (NombreImg, "mibutton", "mibutton.vcx")

Pero de todas formas agradezco tu ayuda!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas