Win32 API. Структуры и сообщения окна - Структура WINDOWPOS

ОГЛАВЛЕНИЕ

Структура WINDOWPOS

Структура WINDOWPOS содержит информацию о размерах и позиции окна.

Синтаксис

typedef struct _WINDOWPOS 
{   
HWND hwnd;
HWND hwndInsertAfter;
int x;
int y;
int cx;
int cy;
UINT flags;
} WINDOWPOS;

Элементы

hwnd
Идентифицирует окно.
hwndInsertAfter
Определяет позицию окна в Z-последовательности (позиция от начала к концу). Этот элемент может быть дескриптором окна, позади которого это окно помещено, или может быть одно из частных значений, перечисленных с функцией SetWindowPos.
x
Устанавливает позицию левого края окна.
y
Устанавливает позицию верхнего края окна.
cx
Устанавливает ширину окна, в пикселях.
cy
Устанавливает высоту окна, в пикселях.
flags
Устанавливает позицию окна. Этот элемент может быть одним из следующих значений:

  • SWP_DRAWFRAME - Выводит рамку (определенную в описании класса окна) вокруг окна.
  • SWP_FRAMECHANGED - Посылает окну сообщение WM_NCCALCSIZE, даже если размер окна не изменяется. Если этот флажок не установлен, WM_NCCALCSIZE посылается только тогда, когда размер окна изменяется.
  • SWP_HIDEWINDOW - Скрывает окно.
  • SWP_NOACTIVATE - Не активизирует окно. Если этот флажок не установлен, окно активизируется и перемещается в верхнюю часть или самой верхней или не самой верхней группы (в зависимости от установки параметра hWndInsertAfter).
  • SWP_NOCOPYBITS - Сбрасывает все содержание рабочей области. Если этот флажок не установлен, допустимое содержание рабочей области сохраняется и копируется обратно в рабочую область после того, как окно будет установлено по размеру или переустановлено (снова установлено).
  • SWP_NOMOVE - Сохраняет текущую позицию (игнорирует X и Y параметры).
  • SWP_NOOWNERZORDER - Не изменяет позицию окна владельца в Z-последовательности.
  • SWP_NOREDRAW - Не перерисовывает изменения. Если этот флажок установлен, перерисовки любого вида не происходит. Это применяется как к рабочей области, нерабочей области (включая область заголовка и полосы прокрутки), так и к любой части родительского окна, раскрытого в результате перемещения окна. Когда этот флажок установлен, прикладная программа должна явно либо аннулировать или перерисовывать любые части окна и родительского окна, которые надо перерисовать.
  • SWP_NOREPOSITION - То же самое, что и флажок SWP_NOOWNERZORDER.
  • SWP_NOSENDCHANGING - Предохраняет окно от приема сообщения WM_WINDOWPOSCHANGING.
  • SWP_NOSIZE - Сохраняет текущий размер (игнорирует cx и cy параметры).
  • SWP_NOZORDER - Сохраняет текущую Z-последовательность (игнорирует параметр hWndInsertAfter).
  • SWP_SHOWWINDOW - Отображает окно.

Смотри также

EndDeferWindowPos, SetWindowPos, WM_NCCALCSIZE

Размещение и совместимость WINDOWPOS

Windows NT   Да 
Win95    Да
Win32s    Да
Импортируемая библиотека -
Заголовочный файл   winuser.h
Unicode    Нет
Замечания по платформе  Не имеется