Funkcia DeferWindowPos aktualizuje zadané viaceré-okno – štruktúry rozmiestnenia pre zadané okno. Funkcia vráti popisovač aktualizované štruktúry. EndDeferWindowPos funkcia používa informácie v tejto štruktúre chcete zmeniť pozíciu a veľkosť číslo windows súčasne. BeginDeferWindowPos funkcia vytvorí štruktúra.
(HDWP DeferWindowPos HDWP hWinPosInfo; / / popisovača na vnútornú štruktúruHWNDhWnd; / / spracovať do okna do polohyHWNDhWndInsertAfter; / / umiestnenie poradia rukoväťint x; / / horizontálnej polohe int y; / / vertikálnej polohy int cx, // width int cy, // heightUINTuFlags / / umiestnenie okna flags);
| Hodnota | Význam |
|---|---|
| HWND_BOTTOM | Umiestni okno v spodnej časti poradie vykresľovania. Ak hWnd parameter určuje hlavné okno, okno stratí svoj štatút najvyššej a je umiestnený v spodnej časti všetky ostatné okná. |
| HWND_NOTOPMOST | Umiestni okno nad všetkými non-najvyššej windows (t. j. za všetky najvyššej okná). Táto vlajka nemá žiadny vplyv, ak už je okno-najvyššej okno. |
| HWND_TOP | Umiestni okno v hornej časti poradie vykresľovania. |
| HWND_TOPMOST | Umiestni okno nad všetkými non-najvyššej systému windows. Okno tvrdí jeho najvyššej pozícii, aj vtedy, keď je deaktivovaný. |
Tento parameter sa ignoruje, ak je príznak SWP_NOZORDER nastavený v parametri uFlags.
| Hodnota | Význam |
|---|---|
| SWP_DRAWFRAME | Nakreslí rámu (definované v opisu triedy v okne) okolo okien. |
| SWP_FRAMECHANGED | Odošle správu WM_NCCALCSIZE do okna, dokonca aj vtedy, ak veľkosť okna sa nezmení. Ak nie je určená táto vlajka, WM_NCCALCSIZE sa odošle iba vtedy, ak sa zmení veľkosť okna. |
| SWP_HIDEWINDOW | Skryje okno. |
| SWP_NOACTIVATE | Neaktivujú okna. Ak nie je tento príznak, okno je aktivovaný a presťahoval do hornej časti najvyššej alebo najvyššej skupiny, (v závislosti na nastavení parametra hWndInsertAfter ). |
| SWP_NOCOPYBITS | Odstráni sa celý obsah do klientskej oblasti. Ak táto vlajka nie je zadaný, platné obsahu do klientskej oblasti sú uložené a skopírované späť do oblasti klienta po veľkosti alebo premiestnená okna. |
| SWP_NOMOVE | Zachová aktuálnu pozíciu (ignoruje parametre x a Y ). |
| SWP_NOOWNERZORDER | Nemení polohu okna vlastník v poradie vykresľovania. |
| SWP_NOREDRAW | Nie prekresliť zmeny. Ak je nastavená táto vlajka, no náterov akéhokoľvek druhu vyskytuje. Toto sa vzťahuje na oblasti klienta nonclient oblasti (vrátane záhlavia a posúvače) a akejkoľvek časti rodičovské okno nepotiahnutého tohto okna premiestňujú. Ak je nastavená táto vlajka žiadosti musí výslovne vyvrátiť alebo obnovte všetky časti okna a rodičovské okno, ktoré je potrebné redrawing. |
| SWP_NOREPOSITION | Rovnaké ako príznak SWP_NOOWNERZORDER. |
| SWP_NOSENDCHANGING | Zabraňuje okna hlásenie WM_WINDOWPOSCHANGING. |
| SWP_NOSIZE | Zachová aktuálnu veľkosť (ignoruje parametre cx a cy ). |
| SWP_NOZORDER | Zachováva súčasný poradie vykresľovania (ignoruje hWndInsertAfter parameter). |
| SWP_SHOWWINDOW | Zobrazí okno. |
Vrátená hodnota identifikuje aktualizované viacerých okien – pozícia štruktúru. Rukoväť odoslal tejto funkcie môže líšiť od rukoväť odovzdanom funkcii. Novej rukoväti, že táto funkcia vracia hodnotu by prešla počas nasledujúcej výzvy pre funkciu DeferWindowPos alebo EndDeferWindowPos.
Ak nedostatok systémových prostriedkov k dispozícii pre funkciu uspieť, vrátená hodnota je NULL. Získajte rozšírené informácie o chybách, volajte na číslo GetLastError.
Ak hovor DeferWindowPos zlyhá, uplatňovanie by opustiť fungovanie umiestnenie okna a nevyžadujú EndDeferWindowPos.
Ak SWP_NOZORDER nie je zadaný, systém umiestni okno identifikovaný parametrom hWnd v polohe po okno identifikovaný parametrom hWndInsertAfter . Ak hWndInsertAfter je NULL alebo HWND_TOP, systém umiestní hWnd okno v hornej časti poradie vykresľovania. Ak je hWndInsertAfter HWND_BOTTOM, systém umiestní hWnd okno v spodnej časti poradie vykresľovania.
Všetky súradnice pre podriadené okná sú relatívne vzhľadom na ľavý horný roh oblasti rodičovské okno klienta.
Okno možno najvyššej okno stanovením hWndInsertAfter HWND_TOPMOST vlajku a zabezpečenie nie je nastavený príznak SWP_NOZORDER alebo nastavením v okne pozíciu poradie vykresľovania tak, aby sa vyššie všetky existujúce najvyššej okná. Ak je najvyššej-najvyššej okno, jeho vlastní okien sa tiež najvyššej. Svojich vlastníkov však nezmenia.
Ak ani SWP_NOACTIVATE, ani SWP_NOZORDER vlajkou je zadaný (t. j. pri podaní žiadosti, že súčasne aktivovať okno a zmenila svoju pozíciu poradie vykresľovania), hodnoty špecifikovanej v bode hWndInsertAfter sa používa iba v nasledujúcich prípadoch:
Žiadosť nie je možné aktivovať neaktívneho okna bez toho, aby sa tiež prináša do hornej časti poradie vykresľovania. Žiadosť môžete zmeniť pozíciu aktivovaný okna v poradie vykresľovania bez obmedzení alebo ho aktivovať okno a potom ho premiestnite do hornej časti okna najvyššej alebo najvyššej.
Okno je už najvyššej ak je premiestnená do dolnej (HWND_BOTTOM), poradie vykresľovania alebo po-najvyššej okna. Pri najvyššom okno sa mimo najvyššej svojich vlastníkov a jeho vlastní okien sa tiež-najvyššej windows.
Najvyššej okno môže vlastniť najvyššej okno, avšak nie naopak. Ľubovoľného okna (napríklad dialógové) vo vlastníctve najvyššej okno je sama najvyššej okno, aby zabezpečili, že všetky vo vlastníctve, windows zostať nad ich vlastníkom.
nbsp; Systém Windows &NT: vyžaduje verzia 3.1 alebo novšia.
Windows:Vyžaduje systém Windows 95 alebo novším.
Windows CE:Nepodporované.
Hlavičky:Deklarovaný v súbore winuser.h.
Importovať knižnica:Použiť user32.lib.
ShowWindow v systéme Windows prehľad okno funkcie, BeginDeferWindowPos, EndDeferWindowPos,