![]() |
Vertikalen Monitor-Versatz ermitteln
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Experten,
ich suche schon eine Weile eine Möglichkeit, den vertikalen Versatz eines angeschlossenenen Monitors per Code zu ermitteln. Grund: Ich habe zwei Monitore an meinem PC, einen Hauptmonitor mit der Auflösung 1680x1050 und einen zweiten Touchscreen links daneben mit 1920x1080. (links deswegen, weil ich Linkshänder bin und so besser mit dem Ding umgehen kann :mrgreen: ). Der zweite, grössere ist aber über die Bildschirm-Einstellungen (absichtlich) vertikal nach unten verschoben, um beim Fenster-Verschieben zwischen den beiden Monitoren einen nicht so grossen Versatz zu erhalten (aufgrund der Auflösungs-Differenz und der unterschiedlichen Stellhöhe der Monitore). Nun habe ich damit aber ein Problem: Die Position 0 auf dem Desktop bezieht sich auf den Hauptmonitor und ist beim zweiten Monitor im negativen Bereich. Wenn ich nun ein Fenster der Breite 800 auf den zweiten Monitor mit MoveWindow auf X,Y (-800,0) positioniere, ist das Fenster in der Höhe nicht ganz sichtbar, da die kleinste Y-Koordinate des zweiten Monitors nicht 0 ist, sondern negativ dem Versatz entspricht, den man in den Bildschirm-Auflösungen eingestellt hat. Der X-Wert stimmt. (Die X-Koorinaten liegen beim linken Monitor ja auch im negativen Bereich, aber da gibt es keinen Versatz und es ist leicht zu ermitteln) Gibt es eine Möglichkeit in Delphi, den vertikalen Versatz des Monitors zu ermitteln, um die Fensterpositionen korrekt anzupassen? Ich habe das richtige wohl noch nicht ergooglen können :( P.S.: Ich habe meine Monitor-Einstellungen mal als Screenshot zur Verdeutlichung angehängt. Edit: Logik-Fehler in der Beschreibung korrigiert :) grüssle, Fin |
Re: Vertikalen Monitor-Versatz ermitteln
In Delphi gibt es TMonitor und dazu passend eine fertige Instanz "Monitors" in der Instanz Screen (von TScreen) in der Unit Forms.
Delphi-Quellcode:
Über Top, Left und Co. kommst du nun an die Positionen ran.
Screen.MonitorCount
Screen.Monitors[i].Top |
Re: Vertikalen Monitor-Versatz ermitteln
Was??? So einfach....?
Ohmann...ich bin ein Blindfisch! Schande über mich :stupid: Manchmal ist es echt dumm, wenn man im MSDN rumsucht, ohne zuerst das einfach Zeugs von Delphi zu benutzen... Danke!! |
Re: Vertikalen Monitor-Versatz ermitteln
Nja, das MSDN hätte im Endefekt auch irgendwann geholfen (TMonitor nutzt diese ja auch)
PS: Wenn ich mich nicht Irre, dann gibt es irgendwo auch sowas wie ein MoveToMonitor. |
Re: Vertikalen Monitor-Versatz ermitteln
Naja, was soll ich sagen...es gibt wohl Tage, da sieht man die Funktion vor lauter Hilfen nicht... :oops:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:20 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