00 Stimmen

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

Tipp von Delphianer | 19.04.2013 um 14:56

Wenn man mit Delphi oder Lazarus eigene Komponenten (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.

Stattdessen, überschreiben wir das Event, das OnClick 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.

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.