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/)
-   -   Workaround? Align=Scale funktioniert nicht bei Visible=False (https://www.delphipraxis.net/203918-workaround-align%3Dscale-funktioniert-nicht-bei-visible%3Dfalse.html)

DukeM 7. Apr 2020 12:01

Workaround? Align=Scale funktioniert nicht bei Visible=False
 
Hallo.
Anscheinend ist es so gewollt, dass "Align=Scale" nur bei sichtbaren Komponenten funktioniert.

Kann man eigentlich shcon mit einem Panel ausprobieren. Property Align=Scale und ein Button der Visible toggelt.

Wie bitte schön soll man das sinnvoll nutzen? Man kann doch nicht vor dem Resize Alle Komponenten durchgehen und Visible schalten und dnan wieder unsichtbar machen. Das sieht doch mies aus!


Den normalen Scalefaktor zu nutzen, macht in meinem Fall keinen Sinn. Ich brauche eingentlich diesen "Autoscale".



Vielen Lieben Dank.

DukeM 7. Apr 2020 13:04

AW: Workaround? Align=Scale funktioniert nicht bei Visible=False
 
..Hätte ich auch direkt drauf kommen können:

Einfach Opacity=0 nutzen, statt visible=false. Dann muss man meistens aber auch HitTest=False.
Aber trotzdem nicht schön.

Sherlock 7. Apr 2020 13:10

AW: Workaround? Align=Scale funktioniert nicht bei Visible=False
 
Also wenn Du nur den Parent unsichtbar machst, bleibt alles schön aligned...

Sherlock

DukeM 7. Apr 2020 14:55

AW: Workaround? Align=Scale funktioniert nicht bei Visible=False
 
Ne, sagen wir mal man mehrere Panels auf einem TLayout. Die Panels sollen in ihren Positionen oder Größenverhältnissen gleich bleiben, dann mache ich die alle auf Align=Scale. Das TLayout ist zB Align=Fit. Jetzt kann ich das Form beliebig in der Größe ändern und der Inhalt bleibt immer schön ausgerichtet.

Wenn jetzt ein Panel aber nicht angezeigt werden soll (invisible) und man das Form vergrößert, bleibt das unsichtbare Panel so wie es ist, die anderen sichtbaren skalieren sich mit und man hat ein Durcheinander.

Also die Komponenten die unsichtbar sind werden einfach ignoriert.


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