эффективно позиционирование окон на нескольких мониторах с использованием setwindowpos
требует нюансированного понимания конфигурации дисплея системы и концепции виртуального экрана.
System Display Configururation:
Происхождение основного монитора составляет (0, 0). Вторичные мониторы имеют отрицательные координаты x (слева от первичных) или положительные координаты x (справа от первичной).
]] виртуальный экран:
]это концептуальный дисплей, охватывающий все подключенные мониторы. Его происхождение-верхний левый угол самого левого монитора. Его ширина - это сумма всей ширины монитора, а его высота - высота самого высокого монитора.
Использование Screen
class:
класс
предлагает методы для получения важной информации о экране:
screen.fromhandle (hwnd)
: идентифицирует экран, содержащий данное окно (hwnd). screen.getBounds (rect)
: возвращает границы экрана, содержащего указанный прямоугольник. screen.deviceName
: Получает имя устройства экрана, полезно для создания контекста графики. ] Использование нативных функций Win32:
]эти функции предоставляют альтернативные методы для идентификации монитора:
] monitorfromwindow
: возвращает рукоятку монитора, связанную с окном. monitorfrompoint
: возвращает дескриптор монитора для данной точки. monitorfromRect
: возвращает дескриптор монитора для данного прямоугольника. setWindowpos
и координат монитора для размещения окна на определенном мониторе с помощью setWindowpos
, выполните следующие действия:
]
]
вычислить координаты виртуального экрана:
] используйте
setwindowpos setwindowpos call: ]
setWindowpos (hwnd, hwndinsertafter, x, y, cx, cy, swp_nozord
]
]
setWindowpos .
]
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3