![]() |
Alle Komponenten eines Typs ansprechen
Hi,
wenn ich auf einem Formular bspw. 20 Trackbars habe, wie kann ich dann alle gleich verändern z.B. um die Eigenschaft Enabled zu ändern. Alle hintereinander aufzulisten von 1 bis 20 macht den Quellcode nur unnötig groß und ist unprofessionell. Habt ihr einen Plan? MFG Lars Wiltfang |
Re: Alle Komponenten eines Typs ansprechen
Möglichkeit 1 (imho die "saubere"):
Erstelle einen Array mit Referenzen auf die einzelnen Trackbars, dann kannst du den array durchgehen mit direkten zugriff. Möglichkeit 2 (bitte nicht hauen an die die FindComponent für schlecht halten :D): FindComponent, damit kannst du Komponenten finden. Wenn also deine TrackBars durchnumeriert sind:
Delphi-Quellcode:
for I := 1 to 20 do
(FindComponent ('TrackBar' + IntToStr (I)) as TTrackBar).Enabled := True; MfG |
Re: Alle Komponenten eines Typs ansprechen
Wie immer in solchen Fällen:
Durchsuchen der Liste der Controls über Property Components/ComponentsCount und checken des Types mit .Components[i] is <MeingewünschterTyp> |
Re: Alle Komponenten eines Typs ansprechen
Danke für euren schnellen Posts :thumb: :dp: Das hab ich gesucht!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:13 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