DeferWindowPos

DeferWindowPos функція оновлення вказаний кілька вікна-позицію структури для вказаного вікна. Функція повертає дескриптор Останні структури. EndDeferWindowPos функція використовує дані у цій структурі змінити положення і розмір кількість вікон одночасно. Функція BeginDeferWindowPos створює структуру.

(HDWP DeferWindowPos HDWP  hWinPosInfo, / / ручка для внутрішньої структуриHWNDhWnd, / / ручка вікна для розташуванняHWNDhWndInsertAfter, / / ручка розміщення замовленняInt x, / / горизонтальна позиція int y, / / вертикальну позицію int cx, // width int cy, // heightUINTuFlags / / вікно позиціонування прапори);
 

Параметри

hWinPosInfo
Працювати в декількох вікно-позицію структури, що містить інформацію про розмір і місце для одного або кількох вікон. Ця структура повертається на BeginDeferWindowPos або на останній виклик DeferWindowPos.
hWnd
Обробляти до вікна для оновлення, які зберігаються у структурі.
hWndInsertAfter
Обробляти до вікна попереднього вікна розташовані в Z-послідовності. Цей параметр має бути дескриптор вікна, або один з таких значень:
Значення Значення
HWND_BOTTOM Розташовує вікно в нижній частині Z-послідовності. Якщо параметр hWnd визначає найвищого вікно, вікно втрачає свого найвищого статусу і знаходиться в нижній частині всіх інших вікон.
HWND_NOTOPMOST Розташовує вікна перш за все не найвищий windows (тобто, позаду всіх найвищого windows). Цей прапор має ніякого ефекту, якщо вікно вже-найвищий вікно.
HWND_TOP Розташовує вікна у верхній частині Z-послідовності.
HWND_TOPMOST Розташовує вікна перш за все не найвищий windows. Вікна утримується його верхню позицію, навіть тоді, коли вона буде деактивовано.

Цей параметр ігнорується, якщо SWP_NOZORDER позначку в параметрі uFlags.

x
Визначає x координати верхньому лівому куті вікна.
y
Визначає у координатою верхньому лівому куті вікна.
cx
Визначає Нова ширина вікна, у пікселях.
cy
Визначає нові висоти вікна, у пікселях.
uFlags
Визначає поєднання таких значень, які впливають на розмір та розташування вікна:
Значення Значення
SWP_DRAWFRAME Малює рамки (визначені в клас у вікні Опис) навколо вікна.
SWP_FRAMECHANGED Надсилає повідомлення WM_NCCALCSIZE вікна, навіть якщо не будучи змінюється розмір вікна. Якщо не вказано цей прапор, WM_NCCALCSIZE надсилається лише тоді, коли змінюється розмір вікна.
SWP_HIDEWINDOW Приховування вікна.
SWP_NOACTIVATE Не вдалося активувати вікно. Якщо не встановлено цю позначку, у вікні активується і переїхав до початку або верхній або найвищий групи (в залежності від значення параметра hWndInsertAfter ).
SWP_NOCOPYBITS Видаляє весь вміст області клієнта. Якщо не вказано цей прапор, дійсний вміст області клієнта зберігаються й скопійовані назад в області клієнта після вікна розміром або переміщено.
SWP_NOMOVE Зберігає поточну позицію (ігнорує параметри x та Y ).
SWP_NOOWNERZORDER Не змінити власника вікно позицію в Z-послідовності.
SWP_NOREDRAW Не перемальовування зміни. Якщо цей прапор, немає фарбування будь-якого відбувається. Це стосується клієнтської області, nonclient області (в тому числі заголовку та смуги прокручування), і будь-якій частині вікна батьківського виявили з вікна, будучи переїхали. Коли встановлено цю позначку, застосунок має явно недійсними або перемальовування будь-якої частини вікно та вікно з батьків, які повинні перемальовування.
SWP_NOREPOSITION Так само, як прапор SWP_NOOWNERZORDER.
SWP_NOSENDCHANGING Запобігає вікна повідомлення WM_WINDOWPOSCHANGING.
SWP_NOSIZE Зберігає поточний розмір (ігнорує cx і cy параметри).
SWP_NOZORDER Зберігає поточний Z-послідовності (ігнорує параметра hWndInsertAfter ).
SWP_SHOWWINDOW Відображає вікно.

Повернення значень

Значення, що повертається ідентифікує останні кілька вікна-позицію структури. Ручкою, повернутих ця функція може відрізнятися від маркера функції. Новий маркер, що ця функція повертає передається під час наступного виклику функції DeferWindowPos або EndDeferWindowPos.

Якщо Недостатньо системних ресурсів для функції для досягнення успіху, значення, що повертається, є NULL. Щоб отримати докладні відомості про помилку, зателефонуйте GetLastError.

Зауваження

Якщо не вдається заклик до DeferWindowPos , застосування повинні відмовитися від операції розташування вікна і не називають EndDeferWindowPos.

Якщо значення SWP_NOZORDER не вказано, система місць у вікно, визначені позиції, після вікно, визначені hWndInsertAfter параметр, параметр hWnd . HWndInsertAfter є NULL або HWND_TOP, система розміщує hWnd вікна у верхній частині Z-послідовності. Якщо hWndInsertAfter HWND_BOTTOM, система місця hWnd вікно в нижній частині Z-послідовності.

Є всі координати для дитини windows по відношенню до верхній лівий кут області вікна батьківського клієнта.

Вікно може бути зроблено найвищого вікно, встановивши hWndInsertAfter HWND_TOPMOST прапор і забезпечення того, що не встановлено прапор SWP_NOZORDER або встановивши у вікно позицію в Z-послідовності, так, щоб будь-який верхнього вікна. Після-найвищий вікно верхнього свого належить windows також зроблені найвищого. Його власників, однак, не змінюються.

Якщо ні SWP_NOACTIVATE, ні SWP_NOZORDER прапор вказано (тобто, коли застосування запитує, що одночасно можна активувати вікно і змінили свою позицію в Z-послідовності), значення, вказаного в hWndInsertAfter використовується тільки в нижче обставин:

Застосунку не вдалося активувати неактивного вікна без також приведення її у верхню частину порядку Z. Заявку можна змінити активованого вікно позицію в Z-послідовності без обмежень, або його можна активувати вікно а потім перемістити його на початок верхнього або найвищий windows.

Найвищий вікно вже не найвищого, якщо його переміщено до нижньої (HWND_BOTTOM) Z порядку, або після будь-якого вікна найвищий. Після найвищого вікно non найвищий його власників і його власності windows також зроблені-найвищий windows.

Найвищий вікно може володіти верхнього вікна, а не навпаки. Будь-яке вікно (наприклад, у діалоговому вікні), належать найвищому вікно є сам зробив верхнього вікна, щоб переконатися, що все у власності windows залишатися над їх власника.

QuickInfo

nbsp; Windows &NT: вимагає 3.1 або пізнішої версії.
Windows:Вимагає Windows 95 або пізнішої версії.
Windows CE:Не підтримується.
Заголовка:Оголошена в winuser.h.
Імпортувати бібліотеки:Використання user32.lib.

Дивіться також

Windows огляд, функції вікон, BeginDeferWindowPos, EndDeferWindowPos, ShowWindow

Index