הפונקציה 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 ומעל הכל ללא-העליון (כלומר, מאחורי כל החלונות העליון). דגל זה אין השפעה אם החלון כבר חלון העליון. |
| 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 וסי ). |
| SWP_NOZORDER | שומר את סדר z הנוכחי (התעלמות הפרמטר hWndInsertAfter ). |
| SWP_SHOWWINDOW | הצגת חלון. |
הערך המוחזר זיהוי מעודכן מרובה-החלון – מיקום המבנה. נקודת האחיזה המוחזר על-ידי פונקציה זו עשוי להיות שונה ממזהה ייחודי שהועבר לפונקציה. שיש להעביר את נקודת האחיזה החדשה שמחזירה פונקציה זו במהלך השיחה הבאה אל הפונקציה DeferWindowPos או EndDeferWindowPos.
אם אין די משאבי מערכת זמינים עבור הפונקציה להצליח, הערך המוחזר הוא NULL. כדי לקבל מידע שגיאות מורחב, לקרוא GetLastError.
אם קריאה ל- DeferWindowPos נכשל, היישום צריך לנטוש את פעולת מיקום חלון, לא יקרא EndDeferWindowPos.
אם לא צוין SWP_NOZORDER, המערכת מציבה את החלון המזוהה על-ידי הפרמטר hWnd במיקום הבא את החלון המזוהה על-ידי הפרמטר hWndInsertAfter . אם hWndInsertAfter הוא NULL או HWND_TOP, המערכת ממקם את החלון hWnd בראש סדר Z. אם hWndInsertAfter מוגדר HWND_BOTTOM, המערכת מציבה את החלון hWnd בתחתית סדר z.
הקואורדינטות כל עבור חלונות צאצאים הן יחסיות לפינה הימנית העליונה של אזור הלקוח של החלון האב.
חלון ניתן לבצע החלון העליון על-ידי הגדרת hWndInsertAfter את הדגל HWND_TOPMOST ולהבטיח הדגל SWP_NOZORDER שאינו מוגדר, או על-ידי הגדרת המיקום של החלון לפי סדר Z, כך שניתן יהיה מעל חלונות העליון קיימים. כאשר חלון העליון ביותר נעשית העליון, חלונותיו בבעלות גם נעשים העליון. לבעליו, עם זאת, אינם משתנים.
אם לא SWP_NOACTIVATE ולא SWP_NOZORDER דגל מצוין (כלומר, כאשר היישום מבקש כי חלון ניתן להפעיל בו זמנית ולא לשנות את מיקומו לפי סדר Z), נעשה שימוש בערך שצוין ב- hWndInsertAfter רק בנסיבות הבאות:
ליישום אין אפשרות להפעיל את חלון לא פעיל ללא גם להביא אותה אל ראש סדר Z. יישום לשנות המיקום של חלון מופעל סדר z ללא הגבלות, או אותו הפעל חלון ולאחר מכן להזיז אותה לחלק העליון של windows או העליון.
החלון העליון אינה עוד העליון אם היא תמוקם למטה (HWND_BOTTOM) של סדר z או לאחר כל חלון העליון. כאשר החלון העליון נעשית ללא העליון, לבעליו וחלונות בבעלות נעשים windows העליון.
חלון העליון ביותר עשוי להיות החלון העליון, אך לא להיפך. חלון כלשהו (לדוגמה, תיבת הדו-שיח) בבעלות על החלון העליון הוא עצמו עשה החלון העליון כדי להבטיח כי כל בבעלות windows להישאר מעל בעליהן.
nbsp; Windows &NT: מחייב גירסה 3.1 או גירסה מתקדמת יותר.
Windows:נדרש Windows 95 או גירסה מתקדמת יותר.
חלונות CE:לא נתמך.
כותרת עליונה:להצהיר על winuser.h.
ייבוא ספריית:השתמש user32.lib.
מבט כולל על Windows, פונקציות חלון, BeginDeferWindowPos, EndDeferWindowPos, מסוג ShowWindow