Durch vertikales Einrasten eines Fensters werden beide Monitore vergrößert


4

Ich habe zwei 1920x1080-Monitore übereinander angeordnet.

Bildbeschreibung hier eingeben

Wenn ich ein Fenster im unteren Monitor an der Unterkante dieses Monitors ausrichte, wird es vergrößert, sodass das Fenster von der Unterkante des unteren Monitors bis zur Oberkante des oberen Monitors reicht (in Rot dargestellt). Ich würde erwarten, dass sich das Fenster nur zwischen dem oberen und unteren Rand des unteren Monitors ausdehnt (grün dargestellt).

Bildbeschreibung hier eingeben

Gibt es eine Möglichkeit, dieses Verhalten zu "beheben"?

Hier ist, was ich meine, indem ich das Fenster nach unten schnappe (Screenshot ist in Win7 mit nur einem Monitor, obwohl ich nach Win8.1 frage): http://i.imgur.com/cpMUGz3.png

Außerdem Win-Shift-Upführt die gleiche Sache wie Schnappen.


Wechseln Sie in der Charms-Leiste zu> Geräte> Projekt> Erweitern? Oder haben Sie eine andere Option gewählt?
USERNAMAHAHAHAHAHAHAHAHA

@ user-12506 Ich habe mit der rechten Maustaste auf meinen Desktop geklickt und die Option "Bildschirmauflösung" verwendet, um meine Monitore anzuordnen. Ich bearbeite die Frage, um einen Screenshot anzuzeigen.
Philip

Antworten:


3

Wir sind uns nicht sicher, ob dies auf Systemebene möglich ist. Im Folgenden finden Sie jedoch ein funktionierendes Skript, das AutoHotKey verwendet, um dies zu erreichen. Drücke Shift + Win + Up, um es zu aktivieren. Natürlich können Sie andere Hotkeys zuweisen.

Der Code wurde stark von der SO-Antwort von Jeff Axelrod in Wie kann ich ein Fenster über mehrere Monitore maximieren? .

+#Up::
  WinGetActiveTitle, Title
  WinRestore, %Title%
  ActiveMonitor := GetCurrentMonitor()
  SysGet, MaxArea, MonitorWorkArea, %ActiveMonitor%
  WinMove, %Title%, , , MaxAreaTop, , MaxAreaBottom - MaxAreaTop
return

GetCurrentMonitor()
{
  SysGet, numberOfMonitors, MonitorCount
  WinGetPos, winX, winY, winWidth, winHeight, A
  winMidX := winX + winWidth / 2
  winMidY := winY + winHeight / 2
  Loop %numberOfMonitors%
  {
    SysGet, monArea, Monitor, %A_Index%
    if (winMidX > monAreaLeft && winMidX < monAreaRight && winMidY < monAreaBottom && winMidY > monAreaTop) {
      return A_Index
    }
  }
  SysGet, primaryMonitor, MonitorPrimary
  return "No Monitor Found"
}

0

Vorausgesetzt Desktop, nicht moderner UI-Modus (Metro). Möchten Sie die Fangfunktion deaktivieren oder nur einen Bildschirm ausfüllen? Versuchen Sie, es an den oberen Rand des unteren Bildschirms anstatt an den unteren / unteren Rand zu ziehen, damit es einrastet.


Wenn Sie das gesamte Fenster nach oben ziehen, wird der obere Monitor ausgefüllt. Dies ist für den unteren Monitor nicht möglich. Das Ändern der Größe des Fensters (gemäß meinem Screenshot) nach oben hat dasselbe Verhalten wie das Ändern der Größe nach unten. Die Höhe wird so angepasst, dass sie sich über beide Monitore erstreckt.
Philip

Versuchen Sie es mit der Windows-Taste +
Bild auf

Auch welche Grafikkarte (n) verwenden Sie? Überprüfen Sie die Treiberversionen, und prüfen Sie, ob Berichte zu Problemen vorliegen.
Codecats
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.