Einzelnen Beitrag anzeigen

SimStar001

Registriert seit: 18. Jan 2008
594 Beiträge
 
#3

Re: Ereignisse von dynamisch erzeugten Objekten?

  Alt 22. Okt 2008, 17:37
Ich gehe mal von aus, dass du dein Panel schon dynamisch erstellt hast.

Dann gehe wie Folgt vor:

Delphi-Quellcode:
 
MeinDynamischesPanel := TPanel.create(Form1);
MeinDynamischesEdit := TEdit.create(MeinDynamischesPanel);
MeinDynamischesEdit.Parent := MeinDynamischesPanel; //kann man glaube ich auch weglassen
... und so für alle anderen Objekte.

Was dein OnMouseDown Ereignis betrifft:

Du musst eine Procedure mit folgenden Parametern in dein Formular einbinden:
Delphi-Quellcode:
...
public
Procedure MeinOnMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
...

dann die eigentliche Funktion
Delphi-Quellcode:
Procedure TForm1.MeinOnMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
... Quelltext
end;
Jetzt kannste diese Funktion für z.B. dein Panel benutzen:

Delphi-Quellcode:
...
MeinDynamischesPanel.OnMouseDown := MeinOnMouseDown;

Da du diese Procedure ja nun auch für alle anderen Panels nutzen kannst musst du in der Funktion selber noch zwischen deinen ganzen Panels unterscheiden:


Delphi-Quellcode:
Procedure TForm1.MeinOnMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if Sender.Classname = 'TPanelthen
  with TPanel(Sender) do
  ....
end;
Marco Tröger
  Mit Zitat antworten Zitat