Что такое сообщение WM Windows для окна «Развернуть / Свернуть / Восстановить»? - PullRequest
0 голосов
/ 31 марта 2019

Я знаю о WM_SIZE и WM_SIZING, но есть ли сообщение, которое отправляется, когда пользователь увеличивает или уменьшает окно с помощью системного меню?

Мне нужно запечатлеть это событие в моем проекте, и я не могу отгадать, что это за сообщение.

Ответы [ 2 ]

2 голосов
/ 31 марта 2019

WM_SIZE описание: отправляется в окно после изменения его размера. WParam содержит причину:

SIZE_MAXIMIZED Окно было развернуто. SIZE_MINIMIZED окно было свернуто. SIZE_RESTORED Размер окна был изменен, но ни значение SIZE_MINIMIZED, ни SIZE_MAXIMIZED не применяются.

Короче говоря, WM_SIZE отправляется независимо от того, что вызывает изменение размера. Нажатие на кнопку максимизировать равнозначно выбору опции максимизировать в системном меню.

Если вы по какой-то причине хотите отличить щелчок мыши от выбора в меню, вы можете использовать WM_NCMOUSEMOVE для обнаружения движения мыши в правом верхнем углу.

0 голосов
/ 04 апреля 2019

WM_SYSCOMMAND

Окно получает это сообщение, когда пользователь выбирает команду из меню «Окно» (ранее известное как системное или управляющее меню) или когда пользователь выбирает кнопку «Развернуть», «Свернуть», «Восстановить» или «Закрыть».

wParam будет установлено на SC_MINIMIZE, SC_MAXIMIZE и т. Д.

...