2009-12-02 72 views

回答

7

是的,由「x」和「y」參數。使用EnumDisplayMonitors(傳遞兩個空值)來枚舉監視器。你的MonitorEnumProc回調得到一個RECT *到監視器的顯示矩形。如果顯示器位於主顯示器的左側,則會得到負面的RECT。

4

每個監視器只顯示桌面的某些部分,因此示出了一個特定的監視器上的窗口是窗口移動到該監視器顯示的桌面的一部分的問題。當您調用CreateWindowEx(或CreateWindow)時,您可以爲窗口指定x和y座標,因此在特定監視器上顯示它只是指定在該監視器顯示的區域內指定的座標。

您可以在具有GetMonitorInfo的系統上找到監視器的工作區域。

0

x和y參數指定新窗口的位置。此點可以位於虛擬屏幕上的任何位置(所有顯示器矩形組合在一起)。

如果你想在一臺監視器作爲另一個窗口中,您可以撥打MonitorFromWindow上創建的窗口。否則,可以使用EnumDisplayMonitors來枚舉所有監視器。

無論哪種方式,一旦你有一個HMONITOR手柄則必須調用GetMonitorInfo。您的x和y參數應該是監視器信息結構中rcWork成員邊界內的值。您通常會選擇將您的窗口置於此矩形中間的值。

它使用工作區的矩形,而不是整個顯示器的矩形,因爲你不希望你的窗口出現在任務欄和其他總在頂部appbars下是很重要的。

相關問題