![]() |
AW: Fensterposition zurücksetzen
Zitat:
|
AW: Fensterposition zurücksetzen
Da ich mich selber gerade ziemlich mit Unregelmäßigkeiten bei der Fensterpositionierung herumgeärgert habe, möchte ich an dieser Stelle noch anmerken, dass MakeFullyVisible nicht die Eigenheiten von Windows 10 berücksichtigt.
Windows 10 hat nämlich noch einen unsichtbaren Rand von normalerweise 7px. Siehe im Detail hier: ![]() Hat der Anwender also beispielsweise das Fenster links angedockt und man speichert diese Position beim Beenden der Anwendung mit (x=0,y=0), möchte man nach dem Programmstart die Anwendung ja auch an die gleiche Position wieder setzen, was eigentlich ja auch geht, aber führt man dann MakeFullyVisible aus, weil man sichergehen möchte, dass die Anwendung nicht irgendwo versteckt ist, weil sich die angeschlossenen Monitore geändert haben, dann wird das Fenster auf x=7,y=0 verschoben. Die einzige Option, die ich das sehe, wäre den Code von MakeFullyVisible zu kopieren und mit entsprechenden Toleranzen an den Rändern anzupassen. |
AW: Fensterposition zurücksetzen
Fensterpositionen sind in der Tat seit MS in Windows 10 die Monitor-API v2 umgesetzt hat eine komplexe Angelegenheit geworden. Das glaubt man erst, wenn man sich damit beschäftigt hat.
Für etwas Input will ich auf meine Unit ![]() ![]() Die dort enthaltenen Funktionen GetWindowRectDominaStyle und SetWindowPosDominaStyle funktionieren zumindest in meinen Testumgebungen zuverlässig. Nur falls sich jemand mit der Materie beschäftigen möchte... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:22 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