У меня есть приложение MFC, работающее в Win7 без Titlebar (т.е. моя строка заголовка домашнего приготовления, с пользовательскими кнопками для восстановления, разворачивания и закрытия). В Win7 он реагирует на событие максимизации, генерируемое Win 7 API, когда пользователь перетаскивает окно в верхнюю часть экрана. Тем не менее, после того, как оно развернуто, я не могу зафиксировать событие восстановления, которое происходит, когда пользователь перетаскивает окно сверху.
Я выполняю восстановление при двойном щелчке, я выполняю восстановление при нажатии кнопки восстановления, но перетаскивание не удается обнаружить.
Я бы предположил, что это будет выглядеть примерно так:
if (message == WM_WINDOWPOSCHANGING)
{
// DETECT RESTORE MSG HERE.
}
Но, похоже, это не улавливает. Как будто где-то я отключил перемещение окна, когда оно развернуто.
Может быть, есть какой-то способ, которым я предотвращаю WM_RESIZE? Как мне обработать событие перетаскивания, чтобы включить автоматическое изменение размера?