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 Splitter Position setzen (https://www.delphipraxis.net/74683-splitter-position-setzen.html)

DieHardMan 7. Aug 2006 15:27


Splitter Position setzen
 
Hallo, möchte die vom Benutzer eingestellte Splitter Position speichern und später wiederherstellen.

Nur kann ich dem Splitter mit
Delphi-Quellcode:
Splitter.Top
keine neue Position zuweisen, es passiert einfach nichts, auch die umliegenden Komponenten lassen sich nicht in der Höhe ändern, obwohl man kurz die neue Größe aufflackern sieht aber dann anscheinend vom Splitter wieder zurückgesetzt wird. Der Splitter verhält sich zur Runtime ganz normal.

katjah 7. Aug 2006 18:41

Re: Splitter Position setzen
 
Der Splitter hat doch ein Alignment, in Deinem Fall tippe ich mal auf alTop. Daher wird der Splitter sich immer wieder entsprechend ausrichten.
Setze doch stattdessen mal die Eigenschaft heigth des Controls, an das der Splitter ausgerichtet ist.

DieHardMan 7. Aug 2006 19:08

Re: Splitter Position setzen
 
Zitat:

Setze doch stattdessen mal die Eigenschaft heigth des Controls, an das der Splitter ausgerichtet ist.
OK habs hinbekommen.

...Oder auch nicht, wenn ich die Höhe des anliegenden Controls im FormClose Event in einer Ini abspeichere und dann bei FormShow oder FormCreate (beides ausprobiert) wieder zuweise, dann stimmt gar nichts mehr, Controls die oben sind befinden sich plözlich unten und der Splitter ist nun oben, alles verschoben.

Nachtrag: Hab ein paar Alignments geändert, nun funktionierts.

XChris 15. Aug 2006 13:37

Re: Splitter Position setzen
 
Ich liebe Beiträge, wo da steht: Habs hinbekommen - jedoch nicht wie.

Ich stehe auch vor diesem Problem und würd mich freuen, wenn Du schreibst, welche Aligntment du geändert hast.

Chris

uligerhardt 15. Aug 2006 14:30

Re: Splitter Position setzen
 
Zitat:

Zitat von DieHardMan
...Oder auch nicht, wenn ich die Höhe des anliegenden Controls im FormClose Event in einer Ini abspeichere und dann bei FormShow oder FormCreate (beides ausprobiert) wieder zuweise, dann stimmt gar nichts mehr, Controls die oben sind befinden sich plözlich unten und der Splitter ist nun oben, alles verschoben.

Nachtrag: Hab ein paar Alignments geändert, nun funktionierts.

Die VCL-Alignment-Maschinerie würfelt offenbar gerne die Position von align-ten Komponenten durcheinander, wenn man zur Laufzeit zuviel an deren Layout bastelt. Ein Trick, der in solchen Fällen bei mir ganz gut funktioniert, ist, nach dem Setzen von Größe und Alignment der Controls nochmal explizit deren Position zu setzen. Dabei ist die Reihenfolge wichtig - muttu ausprobieren.

Uli.


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