Структура
WINDOWPLACEMENTСтруктура
WINDOWPLACEMENT содержит информацию о размещении окна на экране.Синтаксис
// wndpl length; UINT flags; UINT showCmd; POINT ptMinPosition; POINT ptMaxPosition; RECT rcNormalPosition; } WINDOWPLACEMENT; |
Члены структуры
length
Устанавливает длину структуры, в байтах. Перед вызовом функций
GetWindowPlacement или SetWindowPlacement, установите этот член в sizeof (WINDOWPLACEMENT).Функции
GetWindowPlacement и SetWindowPlacement завершатся ошибкой, если этот член будет установлен не правильно.flags
Устанавливает флажки, которые управляют позицией свернутого окна и методом, которым окно восстанавливается. Этот элемент может иметь одно или несколько следующих значений:
Значение |
Предназначение |
WPF_ASYNCWINDOWPLACEMENT |
Windows 2000/XP: Если вызывающий поток и поток, который владеет окном, подключаются к разным входным очередям, система посылает запрос потоку, который владеет окном. Это не защищает вызывающий поток от блокирования его работы, в то время, пока другие потоки обрабатывают запрос. |
WPF_RESTORETOMAXIMIZED |
Определяет, что восстановленное окно будет развернуто, независимо от того, было ли оно развернуто прежде, чем оно было свернуто. Эта установка допустима только в следующий раз, когда окно восстанавливается. Она не изменяет заданное по умолчанию поведение восстановления. Этот флажок правилен только тогда, когда для члена showCmd установлено значение SW_SHOWMINIMIZED. |
WPF_SETMINPOSITION |
Устанавливает, что координаты свернутого окна могут быть определены. Этот флажок должен быть установлен, если в члене ptMinPosition установлены координаты. |
showCmd
Определяет текущее состояние показа окна. Этот член может быть одним из следующих значений:
Значение |
Предназначение |
SW_HIDE |
Скрывает окно и активизирует другое окно. |
SW_MAXIMIZE |
Развертывает заданное окно. |
SW_MINIMIZE |
Свертывает определяемое окно и активизирует следующее окно верхнего уровня в Z-последовательности. |
SW_RESTORE |
Активизирует и отображает на экране окно. Если окно свернуто или развернуто, система восстанавливает его в первоначальном размере и позиции. Приложение должно установить этот флажок при восстановлении свернутого окна. |
SW_SHOW |
Активизирует окно и отображает его на экране в его текущем размере и позиции. |
SW_SHOWMAXIMIZED |
Активизирует окно и отображает его на экране как развернутое окно. |
SW_SHOWMINIMIZED |
Активизирует окно и отображает его на экране как пиктограмму. |
SW_SHOWMINNOACTIVE |
Отображает окно как пиктограмму. Это значение походит на SW_SHOWMINIMIZED, исключая то, что окно не активизируется. |
SW_SHOWNA |
Отображает окно в его текущем размере и позиции. Это значение походит на SW_SHOW, исключая то, что окно не активизируется. |
SW_SHOWNOACTIVATE |
Отображает окно в его самом последнем размере и позиции. Это значение походит на SW_SHOWNORMAL, исключая то, что окно не активизируется. |
SW_SHOWNORMAL |
Активизирует и отображает окно. Если окно свернуто или развернуто, система восстанавливает его в своем первоначальном размере и позиции. Приложение должно установить этот флажок при отображении на экране окна впервые. |
ptMinPosition
Устанавливает координаты левого верхнего угла окна, когда оно свернуто.
ptMaxPosition
Устанавливает координаты левого верхнего угла окна, когда оно развернуто.
rcNormalPosition
Устанавливает координаты окна, когда оно находится в восстановленной позиции.
Замечания
Если окно является окном верхнего уровня, которое не имеет стиля
WS_EX_TOOLWINDOW, то координаты, представляются нижеследующими членами, которые являются координатами рабочего пространства: ptMinPosition, ptMaxPosition, и rcNormalPosition. Иначе, эти члены находятся в экранной системе координат.Координаты рабочего пространства отличаются от экранной системы координат тем, что они берут во внимание местоположения и размеры инструментальных панелей приложения (включая панель задач). Координаты рабочего пространства (0,0) являются левым верхним углом области рабочего пространства, области экрана, не пользуемой инструментальными панелями приложения.
Координаты, используемые в структуре
WINDOWPLACEMENT должны использоваться только функциями GetWindowPlacement и SetWindowPlacement. Передача координат рабочего пространства функциям, которые рассчитывают экранную систему координат (типа SetWindowPos), приведет к тому, что окно появляется в неправильном месте. Например, если панель задач располагается наверху экрана, сохраняя координаты окна, используйте функцию GetWindowPlacement, а восстанавливайте их, используя функцию SetWindowPos, что заставляет окно появляться "выползающим" сверху экранаСмотри также
Краткий обзор Окна, GetWindowPlacement, SetWindowPlacement, SetWindowPos, ShowWindow, POINT, RECT
Размещение и совместимость WINDOWPLACEMENT |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |