Hallo, ich habe ein kleines Problem. Und zwar:
Ich erzeuge zur Laufzeit x Panels und möchte jedes Panel auf das OnClick Ereignis reagieren lassen. Also hier mal kurz der Code (gekürzt):
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| With Panel Do Begin Parent := Form_Level; Name := 'Stein'+IntToStr(j)+IntToStr(i); Height := 20; Width := 50; Left := coords.h[j]; Top := coords.v[i]; caption := name; OnClick := Test(Panel.Name); <-- hier hakts End; |
So, ich versuche also dem OnClick Ereignis eine Prozedur zuzuweisen und dieser auch gleich den Namen des Panels zu übergeben. (eigentlich ist OnClick ja TNotifyEvent)
Der Sinn und Zweck des Ganzen soll sein, das sich das Panel auflöst wenn man daraufklickt. Da dachte ich mit...
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure test(PanelName : String); var Panel : TPanel; Begin If FindComponent(PanelName) <> Nil Then Panel := FindComponent(PanelName); Panel.Free; End; |
Also: erste Frage: Wie kann ich es erreichen dem OnClick Ereignis der zur Laufzeit erzeugten Panels eine Prozedur zuzuweisen oder wie erreiche ich etwas ähnliches.
Würde meine procedure Test so eigentliche funktionieren. Sie würde ja sozusagen veranlassen, das sich ein Panel "selbst" zerstört. Geht das?
Also ich würde mich über Hilfe sehr freuen.
Mfg
Jetro