У меня есть настройка нескольких мониторов. Когда окно увеличивается на дополнительном мониторе, мне нужно ограничить максимальный размер и положение.Ограничить максимальный размер окна в дополнительном мониторе
В MSDN документация для MINMAXINFO
упоминает следующее:
Для систем с несколькими мониторами, члены ptMaxSize и ptMaxPosition описывают максимизируется размер и положение окна на основном мониторе, даже если окно в конечном счете, максимизируется на вторичном мониторе. В этом случае диспетчер окон настраивает эти значения, чтобы компенсировать различия между основным монитором и монитором, который отображает окно. Таким образом, если пользователь оставляет ptMaxSize нетронутым, окно на мониторе, превышающем основной монитор, максимизируется до размера большего монитора.
Итак, я попытался ограничение, делая SetWindowPos
в OnSysCommand
если nId
является SC_MAXIMIZE
. Он работает, когда пользователь нажимает кнопку максимизации/дважды щелкните строку заголовка.
Но, когда пользователь использует клавишу «Стрелка вверх» или «Вверх» вверху монитора, чтобы максимизировать, я не могу справиться с ограничением максимального размера.
Итак, есть ли какое-нибудь общее место для обработки всех моих сценариев?
Есть ли способ сделать трюк при получении WM_GETMINMAXINFO
сообщение.
Вместо OnSysCommand попробуйте использовать OnSize. – HariDev
thanx, он работал с использованием OnSize – user2338040