![]() |
Eigene Komp.: Ereignis implementieren UND veröffentlichen
Hi! Mein Problem:
Ich bin gerade dabei, eine eigene Komponente zu entwickeln. Ich leite sie ab von TCustomControl. Nun muss bei einem MouseDown auf die Komponente eine Prozedur (DoMouseDown) ausgeführt werden. Meine bisherige Lösung war:
Delphi-Quellcode:
Mittlerweile ist es aber nötig geworden, dass die Komponente ein OnMouseDown-Ereignis zur Verfügung stellt. Also:
constructor TMyComponent.Create(AOwner: TComponent);
begin ... Self.OnMouseDown := DoMouseDown; end;
Delphi-Quellcode:
Jetzt wird aber natürlich bei einem Klick auf die Komponente nur die im Objektinspektor zugewiesene Prozedur aufgerufen. Allerdings soll ja unbedingt (am besten zuerst) DoMouseDown ausgeführt werden.
type
TMyComponent = class(TCustomControl) ... published ... property OnMouseDown; end; end; Falls jemand einen Lösungsvorschlag hat, wäre ich sehr dankbar! Gruß! Robert |
Re: Eigene Komp.: Ereignis implementieren UND veröffentliche
On Mousedown ist ja bereits implementiert und anstelle dieses, wie du es wohl bisher gemacht hast, zuzuweisen überschreibt man eigentlich die Methode welche das Mousedown auslöst. Damit hätte sich dein Problem dann auch von selbst erledigt.
|
Re: Eigene Komp.: Ereignis implementieren UND veröffentliche
Hi! Vielen Dank für die schnelle Antwort! Aber welche Methode löst denn das MouseDown aus?
|
Re: Eigene Komp.: Ereignis implementieren UND veröffentliche
Da ich leider gerade kein Delphi zur Hand habe könnte ich auch nur raten. Am einfachsten ist es sich mal den Stackcall anzuschauen wo der Aufruf her kommt. Ansonsten tippe ich auf MouseDown oder DoMouseDown etc.
|
Re: Eigene Komp.: Ereignis implementieren UND veröffentliche
So einfach kann es sein ;-) - es ist übrigens MouseDown.
Vielen Dank und schönes WE! :thumb: Robert (PS: Was ist denn eigentlich der Stackcall und wie kann ich ihn mir anschaun?) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz