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/)
-   -   Alle Controls auf einem Panel disablen? (https://www.delphipraxis.net/158854-alle-controls-auf-einem-panel-disablen.html)

Jazzman_Marburg 5. Mär 2011 13:03

Alle Controls auf einem Panel disablen?
 
Hallo Gemeinde,
ich versuche gerade alle Controls auf einem Panel zu disablen -- das klappt auch gut, aber:
Die Controls sehen nicht ao aus, als ob sie disabeld seien (also nicht grau). Wenn ich hingegen zur Designzeit im Objektinspektor die Eigenschaft für z.B. eine CheckBox.Enabled auf False setze, dann sieht die CheckBox auch zur Laufzeit grau aus (für den User erkennbar nicht eingabebereit).

Damit setze ich für alle Controls auf einem Panel die Eigenschaft Enabled auf False:

Delphi-Quellcode:
procedure TForm1.DisablePanel(aPanel: TPanel);
var Teller : Integer;

begin
  For Teller := 0 to aPanel.ControlCount - 1 do
  begin
     aPanel.Controls[Teller].Enabled := False;
  end;
end;
Hat jemand vielleicht eine Erklärung für dieses Phänomen?

Danke & Gruß
Jazzman

alfold 5. Mär 2011 14:02

AW: Alle Controls auf einem Panel disablen?
 
Hi, Du kannst lediglich die Benutzung verhindern wenn der Parent, in diesem fall Dein Panel Enabled:= false ist. Das aussehen kann damit aber nicht verändert werden!
Die Eigenschaften der anderen Componenten bleiben davon unberührt:wink:

Du musst demzufolge alle Controls auf dem Parent selbst Enabled:= false setzen.

Gruss Alfold

toms 5. Mär 2011 14:12

AW: Alle Controls auf einem Panel disablen?
 
Zitat:

Zitat von Jazzman_Marburg (Beitrag 1086072)
Hat jemand vielleicht eine Erklärung für dieses Phänomen?

Funktioniert bei mir wie erwartet (unter Delphi 6 + XE getestet)

Aphton 5. Mär 2011 14:18

AW: Alle Controls auf einem Panel disablen?
 
Wie wär es, das ganze Panel zu disablen?

alfold 5. Mär 2011 14:34

AW: Alle Controls auf einem Panel disablen?
 
Zitat:

Zitat von toms (Beitrag 1086088)
Funktioniert bei mir wie erwartet (unter Delphi 6 + XE getestet)

Jo bei mir auch D7 E

Zitat:

Zitat von Aphton (Beitrag 1086090)
Wie wär es, das ganze Panel zu disablen?

Damit kannst Du nur die Benutzung der Componenten verhindern aber nicht das aussehen. Die For schleife muss er trotzdem durchlaufen :wink:

Gruss alfold

Jazzman_Marburg 5. Mär 2011 15:23

AW: Alle Controls auf einem Panel disablen?
 
Kommando zurück! :oops:

Ich hatte tatsächlich nur das unterste Träger-Panel dis-abled -- dass sich darüber noch weitere Panels befinden hatte ich nicht mehr so im Kopf. D.h. wenn man sich zum höchsten Panel durch-itteriert funktioniert alles bestens.

Sorry -- war blind.

Vielen Dank für Eure Hilfe

Gruß
Jazzman


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