Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Alle Komponenten eines Typs ansprechen (https://www.delphipraxis.net/135755-alle-komponenten-eines-typs-ansprechen.html)

Larsi 17. Jun 2009 09:44


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

Hybrid666 17. Jun 2009 09:47

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

Bernhard Geyer 17. Jun 2009 09:49

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>

Larsi 17. Jun 2009 09:51

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 04:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz