Eventos para componentes creados en runtime
A ver si me explico.
Estoy haciendo un formulario, que crea botones en tiempo de ejecucion. El problema es que necesito definir el codigo que se ejecute cuando haga click, pero no se como definirlo. Supongo que sera definir alguna propiedad del boton creado y direccionarlo a un procedimiento previamente hecho, pero no se. El boton lo creo asi ... MyButton := TSpeedButton.create(self); MyButton.parent := Panel; ... Lo que necesito supongo que será algo así: MyButton.onclick := (procediento definido) ¿Alguien me echa un cable? Gracias de antemano |
Hola...
Tienes que crear un método en la clase que tenga la siguiente firma:
Saludos... |
En primer lugar muchas gracias por la respuesta.
Voy a explicarme mejor He hecho un Form con lo siguiente ... private Button: TSpeedButton; Luego en onActivate por ejemplo For a := 0 to Lista.count - 1 do begin Button := TSpeedButton.create(Self); Button.parent := panel; Button.name := 'Bu' + Lista; Button.onClick := MyOnclick(Button); end; In dispues el proc... procedure TMyForm.MyOnClick(Sender: TObject); begin ShowMessage(Sender.name); End; Al ejecutar esto me da el error Incompatible types TNotifyEvent and procedure Que opinais??? |
Cita:
Esta es la forma:
Saludos! |
Delphi.com.ar,
Creo que te equivocaste al copiar y pegar. No veo cual es la diferencia entre tu cita y el código que propones;) Saludos, |
Cita:
|
Muchisimas gracias,
Pensaba que de esta manera el compilador me devolveria que faltaban parametros, pero ahora lo entiendo, no llamo al procedimiento, sino que dirijo la llamada del evento a ese procedimiento. Gracias de nuevo |
Cita:
No tienes que agradecer, justo pasaba por aquí y vi el pequeño error y consideré que era mejor darlo a conocer antes de que empezaran los hilos con mensajes "pero es lo mismo" "que no funciona" ,etc. Saludos, |
La franja horaria es GMT +2. Ahora son las 18:19:23. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi