Поделиться через


Структура WINDOWPLACEMENT (winuser.h)

Содержит сведения о размещении окна на экране.

Синтаксис

typedef struct tagWINDOWPLACEMENT {
  UINT  length;
  UINT  flags;
  UINT  showCmd;
  POINT ptMinPosition;
  POINT ptMaxPosition;
  RECT  rcNormalPosition;
  RECT  rcDevice;
} WINDOWPLACEMENT;

Члены

length

Тип: UINT

Длина структуры в байтах. Перед вызовом функций GetWindowPlacement или SetWindowPlacement задайте для этого элемента значение sizeof(WINDOWPLACEMENT).

GetWindowPlacement и SetWindowPlacement завершаются ошибкой , если этот элемент задан неправильно.

flags

Тип: UINT

Флаги, управляющие положением свернутого окна и методом восстановления окна. Этот элемент может быть одним или несколькими из следующих значений.

Значение Значение
WPF_ASYNCWINDOWPLACEMENT
0x0004
Если вызывающий поток и поток, которому принадлежит окно, присоединены к разным входным очередям, система отправляет запрос потоку, которому принадлежит окно. Это предотвращает блокировку выполнения вызывающего потока, пока другие потоки обрабатывают запрос.
WPF_RESTORETOMAXIMIZED
0x0002
Восстановленное окно будет развернуто независимо от того, было ли развернуто до его свертывание. Этот параметр действителен только при следующем восстановлении окна. Он не изменяет поведение восстановления по умолчанию.

Этот флаг действителен, только если для элемента showCmd указано значение SW_SHOWMINIMIZED.

WPF_SETMINPOSITION
0x0001
Можно указать координаты свернутого окна.

Этот флаг необходимо указать, если координаты заданы в элементе ptMinPosition .

showCmd

Тип: UINT

Текущее состояние отображения окна. Это может быть любое из значений, которые можно указать в параметре nCmdShow для функции ShowWindow .

ptMinPosition

Тип: POINT

Координаты левого верхнего угла окна при свернутом окне.

ptMaxPosition

Тип: POINT

Координаты левого верхнего угла окна при развернутом окне.

rcNormalPosition

Тип: RECT

Координаты окна, когда окно находится в восстановленном положении.

rcDevice

Комментарии

Если окно является окном верхнего уровня без стиля окна WS_EX_TOOLWINDOW , то координаты, представленные следующими элементами, находятся в координатах рабочей области: ptMinPosition, ptMaxPosition и rcNormalPosition. В противном случае эти элементы находятся в экранных координатах.

Координаты рабочей области отличаются от экранных координат тем, что учитывают расположение и размеры панелей инструментов приложений (включая панель задач). Координата рабочей области (0,0) — это левый верхний угол области рабочей области, область экрана, не используемая панелями инструментов приложения.

Координаты, используемые в структуре WINDOWPLACEMENT , должны использоваться только функциями GetWindowPlacement и SetWindowPlacement . Передача координат рабочей области в функции, которые ожидают экранные координаты (например , SetWindowPos), приведет к тому, что окно появится в неправильном расположении. Например, если панель задач находится в верхней части экрана, сохранение координат окна с помощью GetWindowPlacement и их восстановление с помощью SetWindowPos приведет к тому, что окно будет "ползать" вверх по экрану.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть winuser.h (включая Windows.h)

См. также раздел

Основные понятия

GetWindowPlacement

ТОЧКИ

RECT

Справочные материалы

SetWindowPlacement

SetWindowPos

Showwindow

Windows