Структура WINDOWPLACEMENT


Структура WINDOWPLACEMENT содержит информацию о размещении окна на экране.

Синтаксис

typedef struct _WINDOWPLACEMENT {            // wndpl

UINT 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

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz