Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Komponenten je nach Style verschoben? (https://www.delphipraxis.net/24785-komponenten-je-nach-style-verschoben.html)

Pseudemys Nelsoni 26. Jun 2004 00:59


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:

http://www.n1ght.de/c1.JPG

http://www.n1ght.de/c2.JPG

muss an der statusbar liegen, aber wie mache ich das das immer gleich is je nach style?

dizzy 26. Jun 2004 01:17

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

SirThornberry 26. Jun 2004 08:08

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

MrKnogge 26. Jun 2004 10:06

Re: Komponenten je nach Style verschoben?
 
Zitat:

Zitat von SirThornberry
wechsel einfach mal in den Classicstyle, merk dir den Wert von Clientheight und setze im OnCreate die Clientheigt des Forms

Aber dann hätte er doch genau das gegengesetzte Problem im XP-Style, oder :gruebel:

SirThornberry 26. Jun 2004 10:17

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 04:11 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