Свернутые, развернутые и восстановленные окна
Развернутое окно (maximized window)
- окно, которое имеет стиль WS_MAXIMIZE. По умолчанию, система увеличивает развернутое окно так, чтобы оно заполнило экран или, в случае дочернего окна, рабочую область родительского окна. Хотя размеры окна могут быть установлены такие же, что и размеры развернутого окна, развернутое окно немного отличается. Система автоматически перемещает заголовок окна в верхнюю часть экрана или в верхнюю часть рабочей области родительского окна. Система также отключает опцию установки размеров рамки окна и возможность позиционирования окна при помощи области заголовка (так, чтобы пользователь не мог перемещать окно, перемещая строку заголовка).Свернутое окно (minimized window)
- окно, которое имеет стиль WS_MINIMIZE. По умолчанию, система уменьшает свернутое окно до размера его кнопки на панели задач и перемещает свернутое окно в панель задач. Восстановленное окно (restored window) - окно, которое было возвращено к его прежним размерам и в позицию до свертывания или до развертывания.Если прикладная программа определяет стиль
WS_MAXIMIZE или WS_MINIMIZE в функции CreateWindowEx, окно первоначально развернуто или свернуто. После создания окна, приложение может использовать функцию CloseWindow, чтобы свернуть окно. Функция ArrangeIconicWindows упорядочивает пиктограммы на рабочем столе, или она упорядочивает свернутые дочерние окна в родительском окне. Функция OpenIcon восстанавливает свернутое окно в его предыдущих размерах и позиции.Функция ShowWindow может свертывать, развертывать, или восстанавливать окно. Она может также устанавливать видимость окна и состояние активности. Функция SetWindowPlacement включает те же самые функциональные возможности, что и ShowWindow, но она может отменять свертывание, развертывание и восстановление позиции окна, назначенные по умолчанию.
Функции IsZoomed и IsIconic определяют соответственно, развернуто ли или свернуто данное окно. Функция GetWindowPlacement получает данные о свернутой, развернутой и восстановленной позиции окна, а также определяет состояние внешнего вида окна.
Когда система получает команду, чтобы развернуть или восстановить свернутое окно, она отправляет окну сообщение WM_QUERYOPEN. Если оконная процедура возвращает значение ЛОЖЬ(FALSE), Windows игнорирует команды развертывания или восстановления.
Система автоматически устанавливает размер и позицию развернутого окна по значениям, определенным системой по умолчанию для развернутого окна. Чтобы отменить эти значения по умолчанию, прикладная программа может или вызывать функцию
SetWindowPlacement или обработать сообщение WM_GETMINMAXINFO, которое получается окном, когда система собирается развернуть его. WM_GETMINMAXINFO включает в себя указатель на структуру MINMAXINFO, содержащую значения системы, используемые для установки развернутого размера и позиции. Замена этих значений отменяет значения по умолчанию.