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


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

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

Синтаксис

typedef struct tagWINDOWPOS {
  HWND hwnd;
  HWND hwndInsertAfter;
  int  x;
  int  y;
  int  cx;
  int  cy;
  UINT flags;
} WINDOWPOS, *LPWINDOWPOS, *PWINDOWPOS;

Члены

hwnd

Тип: HWND

Дескриптор окна.

hwndInsertAfter

Тип: HWND

Положение окна в Z-порядке (положение от переднего к заднему). Этот элемент может быть дескриптором окна, за которым находится это окно, или одним из специальных значений, перечисленных с помощью функции SetWindowPos .

x

Тип: int

Позиция левого края окна.

y

Тип: int

Положение верхнего края окна.

cx

Тип: int

Ширина окна в пикселях.

cy

Тип: int

Высота окна в пикселях.

flags

Тип: UINT

Положение окна. Этот элемент может быть одним или несколькими из следующих значений.

Значение Значение
SWP_DRAWFRAME
0x0020
Рисует рамку (определенную в описании класса окна) вокруг окна. То же, что и флаг SWP_FRAMECHANGED .
SWP_FRAMECHANGED
0x0020
Отправляет WM_NCCALCSIZE сообщение в окно, даже если размер окна не изменяется. Если этот флаг не указан, WM_NCCALCSIZE отправляется только при изменении размера окна.
SWP_HIDEWINDOW
0x0080
Скрывает окно.
SWP_NOACTIVATE
0x0010
Не активирует окно. Если этот флаг не установлен, окно активируется и перемещается в верхнюю часть самой верхней или не верхней группы (в зависимости от настройки элемента hwndInsertAfter ).
SWP_NOCOPYBITS
0x0100
Удаляет все содержимое клиентской области. Если этот флаг не указан, допустимое содержимое клиентской области сохраняется и копируется обратно в клиентную область после изменения размера окна.
SWP_NOMOVE
0x0002
Сохраняет текущую позицию (игнорирует элементы x и y ).
SWP_ NOOWNERZORDER
0x0200
Не изменяет положение окна-владельца в порядке Z.
SWP_NOREDRAW
0x0008
Не перерисовывает изменения. Если этот флаг установлен, перерисовка не выполняется. Это относится к клиентской области, неклиентской области (включая строку заголовка и полосы прокрутки) и любой части родительского окна, обнаруженной в результате перемещения окна. Если этот флаг установлен, приложение должно явно сделать недействительными или перерисовывать все части окна и родительского окна, требующие перерисовки.
SWP_NOREPOSITION
0x0200
Не изменяет положение окна-владельца в порядке Z. То же, что и флаг SWP_NOOWNERZORDER .
SWP_NOSENDCHANGING
0x0400
Запрещает окну получать сообщение WM_WINDOWPOSCHANGING .
SWP_NOSIZE
0x0001
Сохраняет текущий размер (игнорирует члены cx и cy ).
SWP_NOZORDER
0x0004
Сохраняет текущий порядок Z (игнорирует элемент hwndInsertAfter ).
SWP_SHOWWINDOW
0x0040
Отображает окно .

Требования

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

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

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

EndDeferWindowPos

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

SetWindowPos

WM_NCCALCSIZE

Windows