Thema: Delphi Events überschreiben

Einzelnen Beitrag anzeigen

TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.875 Beiträge
 
Delphi 12 Athens
 
#2

Re: Events überschreiben

  Alt 31. Aug 2006, 14:11
Hallo!

In diesem Fall ist es recht einfach, die benötigte Procedure zu finden.

Da Du ja eine Enterprise Version zur Verfügung hast, hast Du auch die Quellen der VCL-Komponenten zur Verfügung.

Du möchtest hier ein Event überschreiben, für den man in der Komponente auch einen Eventhandler zuweisen kann.

Der Eventhandlereintragspunkt ist OnEnter.

Als erstes mußt Du Dir nun raussuchen, welcher Vorfahr von TEdit den Eintragspunkt implementiert.
In diesem Fall ist das TWinControl in der Unit Controls. (Ich habe mich von TEdit solange zu den jeweiligen Vorfahren durchgehangelt, bis ich fündig wurde).

Hier suchst Du Dir nun raus, wo denn der Handler, so eingetragen, aufgerufen wird. Im QuellText nach OnEnter suchen führt Dich in die Procedure DoEnter:

Delphi-Quellcode:
procedure TWinControl.DoEnter;
begin
  if Assigned(FOnEnter) then FOnEnter(Self);
end;
Diese ist dynamic declariert, also überschreibbar.

Voila, das sollte die gesuchte Routine sein.

Ich hoffe, ich konnte Dir ein bißchen helfen.

Gruß

onlinekater
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat