Servus!
Bei einer OpenGL-Grafik, die aus mehreren Teilen zusammengesetzt ist, möchte ich einzelne Teile bewegen können. Ich verwende GLScene und mache das momentan so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.XPlusButtonClick(Sender: TObject); begin with GLFreeFormXYZ do begin if SchiebenRadioButton.Checked then Position.X:=Position.X+1 else PitchAngle:=PitchAngle+1; end; Werte; end; |
Das geht ja auch ganz gut, hat aber einen Nachteil: Jedesmal, wenn ich ein anderes Teil bewegen will, muß ich den Ausdruck "GLFreeFormXYZ" in den des zu bewegenden Teils ändern - und das nicht nur an einer sondern an insgesamt 6 Stellen. Also dachte ich mir, die Bezeichnungen der Teile in eine ComboBox zu nehmen, um von dort aus die Auswahl zu treffen. Aber das funktionierte nicht so, wie ich mir das zuerst dachte, denn so etwas wie:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.XPlusButtonClick(Sender: TObject); begin with ComboBox1.Text do begin if SchiebenRadioButton.Checked then Position.X:=Position.X+1 else PitchAngle:=PitchAngle+1; end; Werte; end; |
kann ja nicht funktionieren, da GLFreeFormXYZ kein String sondern eine Klasse ist. Aber wie kann ich das nun hinbekommen, daß ich während der Laufzeit die entsprechende Klasse auswählen kann? Es muß ja nicht unbedingt eine ComboBox sein, aber die Wahlmöglichkeit brauche ich unbedingt.
Ich hoffe auf eure Hilfe.
Gruß,
Adrian