![]() |
Komponenten je nach Style verschoben?
hallo,
wenn ich vom XP zum klassik oder umgekehrt wechsel sind die buttons weiter vom unteren rand entfernt (oder umgekehrt :P) als mit dem anderen style zu vor siehe hier: ![]() ![]() muss an der statusbar liegen, aber wie mache ich das das immer gleich is je nach style? |
Re: Komponenten je nach Style verschoben?
Das Problem wird sein, dass die Clientarea beim XP-Style relativ zur gesamten Fenstergröße kleiner ist. Das heisst, dass die Titelleiste höher ist als beim "alten" Style. Die Statusbar ist sicherlich an "bottom" verankert, der Rest aber an "top left", gell!?
Dann ist es klar, dass die "top left" verankerten etwas runter rutschen, da du in TForm.Height ja die Gesamthöhe incl. Titelleiste übergibst. Du müsstest also die reale Höhe der Titelleiste ermitteln, und dein Form so in der Höhe ändern, dass der Clientbereich wieder passt. (ClientRect udn TForm.Height sollten zur ermittlung reichen, man kann das ja ein Mal beim Programmstart antesten, und den ermittelten Wert dann weiterhin verwenden.) n8i, dizzy |
Re: Komponenten je nach Style verschoben?
wechsel einfach mal in den Classicstyle, merk dir den Wert von Clientheight und setze im OnCreate die Clientheigt des Forms
|
Re: Komponenten je nach Style verschoben?
Zitat:
|
Re: Komponenten je nach Style verschoben?
Wenn er den Style umstellt während das Programm läuft hat er das Problem weiterhin (außer er reagiert noch irgendwie darauf wenn clientheight neu gesetzt wird). Aber so wird wenigstens beim programmstart je nach verwendetem style das layout angepasst
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz