Ich habe eine Komponente mit einer OnMouseMove-Funktion.
Diese Funktion hat bereits Code der ausgeführt wird.
Jetzt möchte ich aus einem selbsterstellten Objekt auch diese Funktion
nutzen, ohne das die ursprünglichen Anweisungen verloren gehen.
Beispiel:
Hauptformular mit Grid-Funktion:
Delphi-Quelltext
1: 2: 3: 4:
| procedure TForm1.GridMouseMove(Sender:TObject; X,Y :integer); begin lblTest.Caption := Format('X: %d, Y: %d',[X,Y]); end; |
Die folgende Funktion in meinem Objekt soll die obige Grid.OnMouseMove ergänzen:
Delphi-Quelltext
1: 2: 3: 4: 5:
| procedure TMeinObjekt.MeinMouseMove(Sender:TObject; X,Y : integer); begin self.X := X; self.Y := Y; end; |
Diese Funktion wird beim hinzufügen des Grids zu meinem Objekt dem Grid dann so zugewiesen:
Delphi-Quelltext
1: 2: 3: 4: 5:
| procedure TMeinObjekt.AddGrid(aGrid: TGrid); begin
aGrid.OnMouseMove := self.MeinMouseMove; end; |
Dabei wird natürlich die ursprüngliche Funktionalität von TForm1.GridMouseMove gelöscht, bzw. nicht mehr
ausgeführt. Wie kann ich es so zuweisen, daß sowohl meine Objektfuntion als auch die
Anweisungen aus TForm1.GridMouseMove ausgeführt werden?
Ich weiss, daß ich das schon mal programmiert habe, finde aber den Code nicht mehr.
Thanks
Jürgen
Moderiert von
Narses: Code- durch Delphi-Tags ersetzt