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 Mehrere visuelle Komponenten disablen (https://www.delphipraxis.net/123548-mehrere-visuelle-komponenten-disablen.html)

DelphiManiac 4. Nov 2008 10:01


Mehrere visuelle Komponenten disablen
 
Hallo,

ich bin mir sicher, dass dieses Problem schon irgendwo gelöst worden ist, aber habe trotz intensiver Suche nicht die Lösung gefunden.

Ich habe eine Groupbox und will alle Controls dieser Groupbox disablen.

Habe es folgendermaßen versucht:

Delphi-Quellcode:
   
for I := 0 to  uMainGUI.MainGUI.grpAnalog1Oxy.ComponentCount-1 do
begin
  ((uMainGUI.MainGUI.grpAnalog1Oxy.Components[i]) As TControl).Enabled := false;
end;
Hat aber nicht den gewünschten Erfolg gehabt, weiß aber, dass ich zumindest schon auf dem richtigen Weg bin :lol:

Vielen Dank
DelphiManiac

Luckie 4. Nov 2008 10:03

Re: Mehrere visuelle Komponenten disablen
 
Deaktivier die Groupbox.

DelphiManiac 4. Nov 2008 10:07

Re: Mehrere visuelle Komponenten disablen
 
Hi Luckie,

ja es geht mir nicht unbedingt darum, dass man die Elemente nicht mehr bedienen kann, sonst wäre die Deaktivierung der Groupbox der einfachste Weg. Ich will primär die Elemente disablen, soll einen optischen Effekt haben, dass man weiß :"Ok diese Option ist nicht anwählbar"

Gruß
DM

Luckie 4. Nov 2008 10:14

Re: Mehrere visuelle Komponenten disablen
 
Dann sag uns mal, was unter "nicht gewünschten Erfolg" verstehst.

DelphiManiac 4. Nov 2008 10:20

Re: Mehrere visuelle Komponenten disablen
 
Sorry, habe mich da wirklich nicht deutlich genug ausgedrückt:

Also meine Schleife wird nicht durchlaufen, bzw ComponentsCount = 0.

Wie kann man denn die Komponenten iterieren, die einem Container (hier halt eine Groupbox) angehören?

SirThornberry 4. Nov 2008 10:51

Re: Mehrere visuelle Komponenten disablen
 
ComponentCount gibt die Anzahl der Componenten an welche diese Komponente als Owner haben. Willst du die daraufliegenden Elemente enumerieren ist ControlCount der richtige Ansatz.

DelphiManiac 4. Nov 2008 11:18

Re: Mehrere visuelle Komponenten disablen
 
@SirThornberry:

Ja du hast recht habe Components mit Controls verwechselt.
Jetzt geht es:

Delphi-Quellcode:
for I := 0 to uMainGUI.MainGUI.grpAnalog1Oxy.ControlCount-1 do
begin
  ((uMainGUI.MainGUI.grpAnalog1Oxy.Controls[i]) As TControl).Enabled := false;
end;
Jetzt spar ich mir eine Menge Zeilen Code.

Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:19 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