Programierstiel: Herausfinden welches Shape (eines Arrays) geklickt wurde
-
Hi Leute und zwar folgendes Problem:
Habe ein Shapearray aus 4 Elementen, diese werden dynamisch erzeugt und somit wird ihnen auch dynamisch ein OnClick Event zugeordnet. Jedoch besitzen alle dasselbe Onclik Event. Das Onclick Event besteht daraus eine neue Form zu öffnen, diese speichert nun in eine Datei eine bestimmte (vom User) ausgewählte Farbe (TColor).
Diese wird in der urspr. Form wieder ausgelesen. jedoch nun, wie kann ich herausfinden welches Shape geklickt wurde (z.B. Shape[0] od Shape[3]?)Ich meine ich könnte jedem Shape ein anderes OnClick Event zuordnen, dann wäre es leicht, aber das geht dann auf die Lesbarkeit des Quelltextes
Gibt es vielleicht noch eine andere Möglichkeit?
-
Hallo,
Weise jedem Shape-Objekt in der Eigenschaft "Tag" einen eindeutigen Wert zu.
Im OnClick-Event machst du dann ein dynamic_cast auf das Sender-Objekt, so kannst du den Tag-Wert der Komponente auslesen, die den Klick verursacht hat.
-
Hallo
Siehe auch FAQ, Abschnitt Komponenten benutzen.
Wenn durch die Programmlogik klar ist das ein Event nur durch eine bestimmte Art von Controls aufgerufen wird dann reicht auch ein static_cast
bis bald
akari
-
Vielen Dank, ich dachte mir schon, dass es da so etwas geben muss, werde in zukunft auch meine Suchwörter ein bisschen verallgemeinern

Danke!