Hallo,
der Zugriff auf die erstellten Objekte und deren Ereignisse ist überhaupt kein Problem. Speicher doch die zu erstellenden Objekte einfach in einer
Liste:
Buttons: TList;
Beispiel:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| procedure ButtonErzeugen; var Butt: TButton; blablabla... begin Buttons:= TList.Create; for i := 0 to AnzahlSpieler -1 - (y *2) do begin Butt:= TButton.Create(self); Buttons.Add(Butt); TButton(Buttons). Parent := self ; TButton(Buttons). Button[i].Top := A.Y + (i*20); if i mod 2 <> 0 then A.Y := A.Y +10 ; TButton(Buttons). Left := A.X + (y*130) ; TButton(Buttons). Height := 20 ; TButton(Buttons). Width := 120 ; TButton(Buttons). Caption := 'Spieler ' + inttostr(i); TBUTTONS.ONCLICK:= TFORM1.BUTTONCLICK(SENDER); end; end; |
Die Ereignisbehandlung für "TBUTTONS.ONCLICK:= TFORM1.BUTTONCLICK(SENDER);" erstellst du folgender maßen: platziere einen button auf deinem formular. erzeuge eine ereignisbehandlung, die du später für deine anderen buttons benötigst. Bennene diese Prozedur IM OBJEKTINSPEKTOR (auf keinen Fall im Quelltext!!!!!!!) in deinen Wunschnamen um.
Dann kannst du diesen Button wieder löschen, die Ereignisbehandlung bleibt aber erhalten und kann anderen Buttons zugewiesen werden!
Das wars schon!
Wenn du eine genauere Anleitung benötigst, schreib mir direkt eine e-mail an:
moffmarx@aol.com. Mit diesem Problem hatte ich schon oft zu tun.....
mfg
mrax