Ver Mensaje Individual
  #2  
Antiguo 07-01-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.964
Reputación: 29
delphi.com.ar Va camino a la fama
La forma típica es guardar ese evento en una variable, y llamarla antes o despues del evento:


Código:
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    FOldOnClick: TNotifyEvent;
    procedure MiEvento(Sender: TObject);
  public
  end;

implementation

...

procedure TForm1.FormCreate(Sender: TObject);
begin
  FOldOnClick := Button1.OnClick;
  Button1.OnClick := MiEvento;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage('Hola Mundo!');
end;

procedure TForm1.MiEvento(Sender: TObject);
begin
  if Assigned(FOldOnClick) Then
    FOldOnClick(Self);

  ShowMessage('¿Ok?');
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  Button1.OnClick := FOldOnClick;
end;
Obviamente este caso es algo inútil, esto se lo suele usar en algún componente que usa los eventos de otro objeto... Por eso lo del Destroy y el Assigned


Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita