Einzelnen Beitrag anzeigen

berens

Registriert seit: 3. Sep 2004
434 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: [Kompoente] Ereignisse überschreiben

  Alt 12. Feb 2007, 15:56
Delphi-Quellcode:
Type
  TMyProcedureWithSender = procedure(_Sender: TObject) of object;

  TFoo = class(TBar)
  private
    FOnClick: TMyProcedureWithSender;
    fooClick(_Sender: TObject);
  public
    property OnClick: TMyProcedureWithSender read FOnClick write FOnClick; // oder direkt als Variable
    constructor Create(_Owner: TComponent); override;
  end;

  constructor TFoo.Create(_Owner: TComponent);
  begin
    inherited;
    inherited OnClick := fooClick; // das "wirkliche" OnClick zuweisen
  end;

  procedure TFoo.fooClick(_Sender: TObject); // falls "wirklich" geklickt wurde
  begin
    if assigned(FOnClick) then begin // nachschauen ob eine "Benutzerdefinierte" Prozedur für OnClick vorhanden ist
      FOnClick; // wenn ja, dann ausführen
    end;
  end;
Bin ziemlich sicher, dass sich da auch was in der Suche finden lässt. Hoffe, dass das so in etwa funzt.
  Mit Zitat antworten Zitat