DeferWindowPos функція оновлення вказаний кілька вікна-позицію структури для вказаного вікна. Функція повертає дескриптор Останні структури. EndDeferWindowPos функція використовує дані у цій структурі змінити положення і розмір кількість вікон одночасно. Функція BeginDeferWindowPos створює структуру.
(HDWP DeferWindowPos HDWP hWinPosInfo, / / ручка для внутрішньої структуриHWNDhWnd, / / ручка вікна для розташуванняHWNDhWndInsertAfter, / / ручка розміщення замовленняInt x, / / горизонтальна позиція int y, / / вертикальну позицію int cx, // width int cy, // heightUINTuFlags / / вікно позиціонування прапори);
| Значення | Значення |
|---|---|
| HWND_BOTTOM | Розташовує вікно в нижній частині Z-послідовності. Якщо параметр hWnd визначає найвищого вікно, вікно втрачає свого найвищого статусу і знаходиться в нижній частині всіх інших вікон. |
| HWND_NOTOPMOST | Розташовує вікна перш за все не найвищий windows (тобто, позаду всіх найвищого windows). Цей прапор має ніякого ефекту, якщо вікно вже-найвищий вікно. |
| HWND_TOP | Розташовує вікна у верхній частині Z-послідовності. |
| HWND_TOPMOST | Розташовує вікна перш за все не найвищий windows. Вікна утримується його верхню позицію, навіть тоді, коли вона буде деактивовано. |
Цей параметр ігнорується, якщо SWP_NOZORDER позначку в параметрі 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 залишатися над їх власника.
nbsp; Windows &NT: вимагає 3.1 або пізнішої версії.
Windows:Вимагає Windows 95 або пізнішої версії.
Windows CE:Не підтримується.
Заголовка:Оголошена в winuser.h.
Імпортувати бібліотеки:Використання user32.lib.
Windows огляд, функції вікон, BeginDeferWindowPos, EndDeferWindowPos, ShowWindow