Einzelnen Beitrag anzeigen

OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#8

Re: Vista-Formular ist breiter/höher als width/height angebe

  Alt 27. Mai 2008, 09:56
Für verschieden dicke Fensterrahmen braucht man keine Themes. Man kann seit Ewigkeiten (ich würde sogar wagen zu behaupten, seit 9x-Zeiten) die Rahmendicke individuell einstellen. Wer sich also auf eine bestimmte Rahmendicke verlässt, hat zu 32-Bit-Zeiten schon immer fahrlässig gehandelt. Ist halt nur wieder so typisch, dass man das erst unter Vista bemerkt, weil dort der Rand eben standardmäßig dicker ist. Vielleicht hilft hier ein Blick in die Einstellungen, da werden die meisten noch eine überraschende Anzahl von Einstellungsmöglichkeiten finden, die sie in ihren Programmen berücksichtigen müssen, wenn sie irgendwelche seltsamen Dinge machen wollen. Du kannst die Einstellungen per GetSystemMetrics zur Laufzeit abfragen.

Du brauchst normalerweise die Rahmendicke aber nicht zu berücksichtigen. Platziere das Fenster einfach so, dass der Clientbereich richtig liegt, solange der Rand nicht in deine anderen Fenster hineinragen kann. Falls er das doch kann, musst du eben zusätzlich den Abstand berücksichtigen.

Trotz rotem Kasten gepostet, hat noch mehr Information, dazu folgende:
Zusätzlich zu den von taaktaak genannten Einstellungen gibt es noch "Rahmenfüllung", die als einzige unter Vista höher ist als unter XP.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat