Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Fensterposition zurücksetzen (https://www.delphipraxis.net/203461-fensterposition-zuruecksetzen.html)

KodeZwerg 27. Feb 2020 12:08

AW: Fensterposition zurücksetzen
 
Zitat:

Zitat von haentschman (Beitrag 1458514)
Ich werde mir die Monitore separat auslesen und die linke Seite passend setzen.

Da habe ich immer noch das problem gehabt das sich Delphi selbst nicht aktualisiert, wenn man 'nen Monitor ausstöpselt wird der immer noch gelistet, Screen Resolution zwar 0x0 aber index noch da... des war allerdings noch mit Delphi 2009/2010 kompilate, vielleicht ist's ja mit Rio besser, leider noch nicht getestet.

CodeX 9. Jun 2020 15:34

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:
https://stackoverflow.com/questions/...isible-borders

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.

WladiD 9. Jun 2020 15:58

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 WD.WindowTools aus WinDomina verweisen.

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.
Seite 3 von 3     123   

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