![]() |
DblClick-Erreignis einer Komponente abfangen
Liste der Anhänge anzeigen (Anzahl: 1)
Guten Morgen,
ich habe ein Verständnisproblem, wie ich den Doppelclick einer benutzten Komponente abfangen kann. Folgendes habe ich bereits umgesetzt: Habe eine Komponente 'TmyMachine' geschrieben welche sich von TPanel ableitet. Soweit so gut. Diese TmyMachine habe ich in einem anderen Formular benutzt. Ich erzeuge n Instanzen dieser Klasse, je nachdem wieviel gebraucht werden. Dazu benutze ich eine TObjectlist. Dieser füge ich dann dynamisch die TmyMachine Objekte hinzu.
Delphi-Quellcode:
Wenn ich nun in dem Formular, in welchem jetzt diverse Instanzen von TmyMachine liegen, einen Doppelklick auf eine dieser myMachines mache, möchte ich das Doppelklick Erreigniss in der Form bearbeiten und nicht im Klassencode von TmyMachine. Also muss ich doch den Eventhanlder von TmyMachine beim Erzeugen des jeweiligen Objekts irgenwie in mein Formular bekommen. Nur wie stelle ich das an?
type
TmyForm = class(TForm) ... private fMachines: TObjectlist; ... fmyMachines.Add(TmyMachine.Create(self, parameter, usw)); ... (fmyMachines.Last as TmyMachine).Show; Wenn super, wenn mir jemand helfen könnte. Danke schon mal Padavan PS: Im Anhang habe ich mir ein mini Beispiel gemacht, bei welchem ich das Grundsätzlich hinkriege, aber eben nicht dynamisch und schon gar nicht aus einer anderen Unit... |
Re: DblClick-Erreignis einer Komponente abfangen
Delphi-Quellcode:
(fmyMachines.Last as TmyMachine).onDblClick:=methode aus FormX
|
Re: DblClick-Erreignis einer Komponente abfangen
Vielen vielen Dank,
zwischenzeitlich war es mir auch aufgefallen. Manchmal muss man es einfach mal "laut denken". Gruß Padavan |
Re: DblClick-Erreignis einer Komponente abfangen
Hm,
ursprungsproblem zwar gelöst, aber da kommt schon das nächste. Gleiche Bausstelle, allerdings benötige ich jetzt noch OnMouseDown.
Delphi-Quellcode:
Wenn ich gleiches mit Schema F durchziehe meckert der Delphi mit
(fmyMachines.Last as TmyMachine).OnMouseDown := myMachineMouseDown;
Zitat:
Code in TmyMachine
Delphi-Quellcode:
protected
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X: Integer; Y: Integer); override; |
Re: DblClick-Erreignis einer Komponente abfangen
Der Sender-Parameter fehlt.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:59 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