Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Fensterposition unter VISTA und XP-Style... (https://www.delphipraxis.net/106623-fensterposition-unter-vista-und-xp-style.html)

bingo72 14. Jan 2008 06:48


Fensterposition unter VISTA und XP-Style...
 
Hallo!!

Meine Applikation wird zwar im klassischen Stil korrekt positionert, aber sobald ich das Fenster unter XP-Style oder VISTA aufmache ist das Fenster um ein paar Pixel zu weit oben und zu weit links positioniert.
Wie kann ich das korregieren??

Bitte dringend um Hilfe, da es sich dabei um letzte Update-Korrekturen handelt und ich das heute noch erledigen muß!!

LG
Thomas

mkinzler 14. Jan 2008 06:53

Re: Fensterposition unter VISTA und XP-Style...
 
Deshalb sollte man auch keine Komponenten pixelgenau positionieren, sondern die automatische Ausrichtung des Formulardesigners/Formklase verwenden. Notfalls könntest du das manifest entfernen und so die klassische Darstellung erzwingen

bingo72 14. Jan 2008 07:15

Re: Fensterposition unter VISTA und XP-Style...
 
Ich positioniere das Fenster aber nicht pixelgenau, sondern es gibt durch die unterschiedlichen Styles unterschiedliche Rahmendicken rund um das Fenster!! Und das scheint dazu zu führen das man mit der autom. Ausführung des Formulardesigners bald ansteht. Übrigens hab ich im OI bei Position (des Fensters) --> poDesigned eingestellt...

bingo72 14. Jan 2008 10:42

Re: Fensterposition unter VISTA und XP-Style...
 
Ich kämpfe noch immer mit dem gleichen Problem!! Hat keiner eine Lösung??
Andere Frage: Kann man den unter Vista aktuell eingestellten Style (klassisch/Vista) ermitteln??

mkinzler 14. Jan 2008 10:52

Re: Fensterposition unter VISTA und XP-Style...
 
Brauchst du doch nicht, einfach kein manifest, dann wird alles klassisch dargestellt.

turboPASCAL 14. Jan 2008 10:55

Re: Fensterposition unter VISTA und XP-Style...
 
...und wenn dan doch unbedingt mit Manifest einfach mal so vorgehen:

Hast du schon mal daran gedacht nicht die Fenstergrösse zu setzen sondern die des Clientrects ?
Danach einfach das Fenster manuell so positionieren wie du willst.

bitsetter 14. Jan 2008 11:22

Re: Fensterposition unter VISTA und XP-Style...
 
Zitat:

Zitat von bingo72
Kann man den unter Vista aktuell eingestellten Style (klassisch/Vista) ermitteln??

Versuche mal ob es ThemesEnabled geht.

bingo72 14. Jan 2008 12:13

Re: Fensterposition unter VISTA und XP-Style...
 
Danke für eure Unterstützung!!

Ich habs jetzt so hinbekommen: Da ich keine Manifest-Datei verwende, hab ich bestimmt, ob das laufende Betriebssystem ein Vista ist oder nicht. Wenn ja dann geb ich ein paar Pixel zu Top und Left dazu. Mir ist durchaus bewußt, daß dies zwar keine elegante Lösung ist, aber es tut seinen Zweck.
Den Unterschied ob Vista-Darstellung oder Klassisch unter Vista hab ich durch Abfrage der Captionheight (GetSystemMetrics(SM_CYCAPTION)) festgestellt! Vista hat bei mir eine Höhe von 19px und klassisch von 18px!!...auch nicht die Optimallösung aber ok!!

xaromz 14. Jan 2008 12:39

Re: Fensterposition unter VISTA und XP-Style...
 
Hallo,
Zitat:

Zitat von bingo72
Wenn ja dann geb ich ein paar Pixel zu Top und Left dazu.
...
Den Unterschied ob Vista-Darstellung oder Klassisch unter Vista hab ich durch Abfrage der Captionheight (GetSystemMetrics(SM_CYCAPTION)) festgestellt! Vista hat bei mir eine Höhe von 19px und klassisch von 18px!!

Du weißt natürlich, dass diese Werte nicht in Stein gemeißelt sind, oder? Mit anderen Themes oder Einstellungen kommen da ganz andere Werte raus.

Gruß
xaromz


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