44 Stimmen

Delphi: Standard (OnClick) Event für eigene Komponente

Tipp von Delphianer | Letztes Update am 29.01.2023 | Erstellt am 19.04.2013

Wenn man mit Delphi oder Lazarus eigene Komponente (ein Custom Control) erstellt, ist es manchmal hilfreich, eine eigene Standard (Default) Prozedur für eine bestimmte Aktion (Event Handler) einzurichten. Zum Beispiel, wenn immer etwas bestimmtes automatisch getan werden soll, wenn der Nutzer mit der Maus auf die Komponente klickt. Und das ohne dass man eine Prozedur beim verwenden der Komponente zuweisen müsste.

In diesem Tipp möchte ich euch zeigen, wie ihr das implementieren könnt. Wir schauen uns zuerst den folgenden Code an:

TMyComponent = class(...)
  private 
    ...
  public
    procedure Click; override,
    ...
  published
    ...
end;   

...

procedure TMyComponent.Click;
begin
   inherited;  
   // IHR CODE
end;

Wie Sie sehen können, sollten wir nicht das OnClick Event der Komponente selber überschreiben, da dies nur der Benutzer der Komponente tun sollte (indem er es zum Beispiel über den Object Inspector bei Verwendung der Komponente setzt).

Stattdessen, überschreiben wir das Event, das OnClick intern aufrufen wird. Dies ist die Prozedur Click. Wir definieren also unsere eigene Click Prozedur und darin können wir "inherited" aufrufen, um die eigentliche Klick-Prozedur wie das OnClick aufzurufen. Je nachdem, ob wir die Standard Prozedur vor oder nach unserer eigenen Event-Behandlung aufrufen möchten, können wir das inherited vor oder nach oder auch innerhalb unseres eigenen Codes aufrufen (oder auch gar nicht falls wir Bedingungen dafür definieren möchten).

AntwortenPositivNegativ

Über den Autor

AvatarDer Autor hat keine Kurzbeschreibung seines Profils angegeben.
Profil anzeigen

 

Ähnliche Themen

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.