Añadir un evento a un componente creado dinámicamente

3573 vistas

Para añadir un evento a un componente creado dinámicamente, tenemos que hacer manualmente lo mismo que hace Delphi de forma automática.

En primer ligar tenemos que declarar el evento en la declaración del formulario.



delphi
  1. type
  2.   TForm1 = class(TForm)
  3.     ...
  4.   public
  5.     { Declaraciones públicas }
  6.     { El nombre del procedimiento no importa, pero SI sus parámetros }
  7.     Procedure MiClickSobreBoton(Sender: TObject);
  8.   end;



Luego tenemos que escribir el código del evento



delphi
  1. Procedure TForm1.MiClickSobreBoton(Sender: TObject);
  2. Begin
  3.   ShowMessage('¡Click!');
  4. End;



Y asociar el evento al componente en el momento de su creación



delphi
  1. with TButton.Create(Self) Do
  2. Begin
  3.   Parent := Self;
  4.   Caption := '¡Un botón!';
  5.   { asignamos evento }
  6.   OnClick := MiClickSobreBoton;
  7. End;