![]() |
Variable Formularelemente
Hallo,
ich habe folgendes Problem. Ich habe 64 Panels auf meinem Bildschirm und möchte bei einem davon die Farbe ändern. Die Nummer dieses Panels ergibt sich allerdings erst im Programmablauf. Gib es eine einfacherer Methode das richtige Panel zu verändern ausser if i := 1 then Form1.Panel1.Color := clGreen; if i := 2 then Form1.Panel2.Color := clGreen; ... if i := 64 then Form1.Panel64.Color := clGreen; Das fände ich doch ziemlich langwierig. Gruß Blackmice |
Re: Variable Formularelemente
![]() Bitte das nächste mal erst die Suchfunktion bemühen. Das hatte wir sicher schon ein paar hundert mal... Achso,.. Edit nachtrag: Herzlich Willkommen in der DP ;-) :dp: |
Re: Variable Formularelemente
Sorry, aber FindComponent funktioniert nicht. Hab ich schliesslich schon ausprobiert.
TComponent wird zwar vielleicht zurückgeliefert, hat aber keine Eigenschaft Color. Jedenfalls komme ich dann an der Stelle nicht weiter. |
Re: Variable Formularelemente
Zitat:
Zitat:
|
Re: Variable Formularelemente
Delphi-Quellcode:
procedure TForm1.ComboBox1Change(Sender: TObject);
var Comp: TComponent; begin Comp := FindComponent('Panel' + ComboBox1.Items[ComboBox1.ItemIndex]); if Assigned(Comp) and (Comp is TPanel) then TPanel(Comp).Color := clGreen; end; |
Re: Variable Formularelemente
Ah danke, jetzt geht es. Mir fehlte der Hinweis mit TPanels(comp). Und den hatte ich in den Threads die ich bisher gelesen habe zu FindComponent auch nicht gefunden.
|
Re: Variable Formularelemente
Zitat:
Aber genug davon (ich muss auch immer auf allem rumreiten :lol:), hauptsache es geht jetzt ;) |
Re: Variable Formularelemente
Ja ja, immer diese Neulinge, die hier reinstolpern und von nix ne Ahnung haben, furchtbar :lol:
Vielen Danke jedenfalls |
Re: Variable Formularelemente
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz