![]() |
Workarea verändern bei mehreren Bildschirmen (AppBar)
Moi.
Ich baue eine eigene AppBar. Diese soll auf meinen zweiten Monitor Platz finden. Das Problem: Alles, was Workarea ändert bezieht sich auf die primäranzeige. Wie kann man es bei einem anderen Monitor einstellen? Besonders mit
Delphi-Quellcode:
geht es nicht, da mir irgendwie die Ansteurung der Anzeige fehlt.
SystemParametersInfo(SPI_SETWORKAREA , 0, @r, 0);
Leider ist
Delphi-Quellcode:
Read-Only. Setzen kann ich den Wert nicht.
Screen.Monitors[1].WorkAreaRect
Gibt es was, um auf den Zweitmonitor zuzugreifen? ( nutze Delphi 6 ) |
Re: Workarea verändern bei mehreren Bildschirmen (AppBar)
Hallo,
Zitat:
|
Re: Workarea verändern bei mehreren Bildschirmen (AppBar)
Hab zwar immernoch nicht verstanden wie der die monitore dabei unterscheiden soll, werds aber versuchen.
Was mich halt störrt: im RECT speichert man ja nur die Grösse der Workarea, nicht auf welchem Bildschirm diese liegen soll. *edit: OK, scheinbar findet Windows dann selbstständig raus welche Anzeige gemeint ist und setzt die Workarea richtig. Hat sich damit erledigt. |
Re: Workarea verändern bei mehreren Bildschirmen (AppBar)
Zitat:
MSDN von Tom To change the work area of a monitor, call SystemParametersInfo with SPI_SETWORKAREA and pvParam pointing to a RECT structure that is on the desired monitor. |
Re: Workarea verändern bei mehreren Bildschirmen (AppBar)
Ich wusste halt nicht dass Windows selbst rausfindet, welcher Monitor gemeint ist.
Also erst schaut der Anhand der Koordinaten nach, welche Anzeige gemeint ist und ändert dann nur für diese den Workarea, ohne die Workarea der anderen Anzeige zu beeinflußen. ich frag mich nur was passieren würde, wenn man ein RECT so wählt, dass der über beide Bildschirme sich erstreckt. |
Re: Workarea verändern bei mehreren Bildschirmen (AppBar)
Zwei Möglichkeiten:
1. er gibt einen Fehler zurück (invalid parameter o.ä.) 2. er wendet das jeweilige Rechteck auf den Monitor an, auf dem der grösste Teil des Rechtecks liegt (wie bei der Funktion zur Ermittlung des Monitors auf dem das Fenster liegt. Er meldet immer den Monitor mit dem grössten Fensterteil. Sieht man auch gut in der Taskleiste, wann er wechselt). Am besten wäre es einfach mal das ganze aus zu probieren. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:57 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