Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПО / Лекции / КурсЛекций.doc
Скачиваний:
94
Добавлен:
23.02.2015
Размер:
8.22 Mб
Скачать

Свернутые, развернутые и восстановленные окна

Развернутое окно(maximized window) - это окно, которое имеет стиль WS_MAXIMIZE. По умолчанию Windows увеличивает развернутое окно так, чтобы оно заполнило весь экран или, если речь идет о дочернем окне, всю клиентскую область родителя. Хотя размер неразвернутого окна можно сделать таким же, как и размер развернутого окна, развернутое окно немного отличается. Windows автоматически перемещает заголовок развернутого окна наверх экрана или наверх клиентской области родительского окна. Кроме того, Windows блокирует рамку окна и позиционирующую способность заголовка (т.е. пользователь не может перемещать развернутое окно, перемещая его заголовок).

Свернутое окно(minimized window) - это окно, которое имеет стиль WS_MINIMIZE. По умолчанию Windows уменьшает свернутое окно до размера кнопки панели задач и помещает его на панель задач.Восстановленное окно(restored window) - это окно, которому возвращено состояние (размер и позиция), в котором оно находилось до сворачивания или разворачивания.

Если приложение определяет стиль WS_MAXIMIZE или WS_MINIMIZE в функции CreateWindowEx(), окно создается соответственно развернутым или свернутым. После создания окна, приложение может использовать функциюCloseWindow(), чтобы свернуть окно. ФункцияArrangeIconicWindows()упорядочивает значки на рабочем столе. С помощью этой функции можно также упорядочить свернутые дочерние окна в родительском окне. ФункцияOpenIcon()позволяет восстановить свернутое окно.

С помощью функции ShowWindow()можно свернуть, развернуть или восстановить окно. Эта функция также позволяет устанавливать состояние видимости и активности окна. ФункцияSetWindowPlacement()обладает такими же возможностями, что иShowWindow(), но кроме этого она может изменять позицию по умолчанию для свернутого, развернутого и восстановленного окна.

Функции IsZoomed()и IsIconic()соответственно определяют, развернуто или свернуто данное окно. ФункцияGetWindowPlacement()возвращает позицию окна, а также определяет его состояние видимости.

Когда Windows получает команду развернуть или восстановить свернутое окно, система посылает окну сообщение WM_QUERYOPEN. Если функция окна возвращает FALSE, Windows игнорирует полученную команду.

Windows автоматически устанавливает размер и позицию развернутого окна в соответствии с определенными системой значениями по умолчанию для развернутого окна. Чтобы изменить эти значения по умолчанию, приложение может использовать функцию SetWindowPlacement()или обрабатывать сообщение WM_GETMINMAXINFO, которое Windows отправляет окну прежде чем развернуть его. WM_GETMINMAXINFO содержит указатель на структуру MINMAXINFO, содержащую значения, которые Windows использует, чтобы устанавливать размер и позицию развернутого окна. Изменение этих значений отменяет значения по умолчанию.

Размер и позиция окна

Размер и позиция окна указываются через окаймляющий окно прямоугольник, координаты которого даются относительно экрана или родительского окна. Координаты окна верхнего уровня (top-level window) даются относительно верхнего левого угла экрана, а координаты дочернего окна - относительно верхнего левого угла родительского окна. Приложение определяет начальный размер и положение окна при его создании, но может изменять эти характеристики в любой момент.