Funkcja DeferWindowPos aktualizuje określonego wielu okna – położenie struktury dla określonego okna. Następnie funkcja zwraca uchwyt do zaktualizowana struktura. Funkcja EndDeferWindowPos używa informacji w tej struktury jednocześnie zmienić położenie i rozmiar liczby systemu Windows. Funkcja BeginDeferWindowPos tworzy strukturę.
(HDWP DeferWindowPos HDWP hWinPosInfo, / / dojście do wewnętrznej strukturyHWNDhWnd, / / dojście do okna do pozycjiHWNDhWndInsertAfter, / / obsługi położenia zamówienieint x, / / pozioma pozycja int y, / / pionowe położenie int cx, // width int cy, // heightUINTuFlags / / pozycjonowania okna flagi);
| Wartość | Znaczenie |
|---|---|
| HWND_BOTTOM | Umieszcza okna na dole współrzędną. Jeśli parametr hWnd identyfikuje okno, okno straci swój status wierzchu i jest umieszczany na dole wszystkich innych okien. |
| HWND_NOTOPMOST | Umieszcza okna przede wszystkim brak najwyższej windows (oznacza to, że za wszystkich okien najwyższego). Ta flaga ma znaczenia, jeśli okno jest już-najwyższej okna. |
| HWND_TOP | Umieszcza okno w górnej części współrzędną. |
| HWND_TOPMOST | Umieszcza okna przede wszystkim brak najwyższej systemu windows. Okno utrzymuje swoje stanowisko dotyczące wierzchu, nawet wtedy, gdy jest dezaktywowany. |
Ten parametr jest ignorowany, jeśli parametr uFlags jest ustawiona flaga SWP_NOZORDER.
| Wartość | Znaczenie |
|---|---|
| SWP_DRAWFRAME | Rysuje ramki (zdefiniowana w oknie klasy opis) wokół okna. |
| SWP_FRAMECHANGED | Wysyła komunikat WM_NCCALCSIZE aby oknie, nawet jeśli nie jest przy zmianie rozmiaru okna. Jeśli ta flaga nie jest określony, WM_NCCALCSIZE jest wysyłana tylko wtedy, gdy zmienia się rozmiar okna. |
| SWP_HIDEWINDOW | Ukrywa okno. |
| SWP_NOACTIVATE | Nie Uaktywnij okno. Jeśli ta flaga nie jest ustawiona, okno jest aktywowana i przeniósł się do górnej części albo grupy najwyższego lub najwyższej (w zależności od ustawienia parametru hWndInsertAfter ). |
| SWP_NOCOPYBITS | Usuwa całą zawartość obszaru klienckiego. Jeśli ta flaga nie jest określony, ważne zawartość obszaru klienta są zapisywane i kopiowane do obszaru klienckiego po oknie jest wielkości i położenia. |
| SWP_NOMOVE | Zachowuje bieżący stanowiska (ignoruje parametry x i Y ). |
| SWP_NOOWNERZORDER | Zmienia położenie okna właściciela w kolejności z. |
| SWP_NOREDRAW | Nie Przerysowuje zmiany. Jeśli ta flaga będzie ustawiona, nie odowieżenie wszelkiego rodzaju występuje. Odnosi się to do obszaru klienta, obszar nonclient (włączając w to pasek tytułu i pasków przewijania) i jakiejkolwiek części okna nadrzędnego bez przykrycia z okna przenoszone. Jeśli ta flaga będzie ustawiona, aplikacja musi jawnie unieważnia lub odświeżyć wszystkie części okna, a okno nadrzędne, że ponowne rysowanie. |
| SWP_NOREPOSITION | Sam jako flaga SWP_NOOWNERZORDER. |
| SWP_NOSENDCHANGING | Zapobiega odbieraniu wiadomości WM_WINDOWPOSCHANGING okna. |
| SWP_NOSIZE | Zachowuje bieżący rozmiar (ignoruje parametry cx i cy ). |
| SWP_NOZORDER | Zachowuje bieżący współrzędną (ignoruje parametr hWndInsertAfter ). |
| SWP_SHOWWINDOW | Wyświetla okno. |
Wartość zwracany identyfikuje zaktualizowane wielu okna – położenie struktury. Dojścia zwróconego przez tę funkcję mogą różnić się od uchwyt przekazanych do funkcji. Nowy uchwyt, że ta funkcja zwraca powinny być przekazywane podczas następne wywołanie funkcji DeferWindowPos lub EndDeferWindowPos.
Jeśli systemu niewystarczające zasoby są dostępne dla funkcji została wykonana pomyślnie, wartość zwracana jest wartość NULL. Aby uzyskać rozszerzonych informacji o błędach, należy wywołać GetLastError.
Jeśli wywołanie DeferWindowPos nie powiodło się, stosowania należy zrezygnować z operacji pozycjonowania okna i nie wymagają EndDeferWindowPos.
Jeśli SWP_NOZORDER nie jest określony, system umieści okna określone przez parametr hWnd stanowiska po oknie określone przez parametr hWndInsertAfter . Jeśli hWndInsertAfter jest ZEROWY lub HWND_TOP, system umieszcza okna hWnd u góry współrzędną. HWndInsertAfter jest ustawiona na HWND_BOTTOM, system umieści w oknie hWnd u dołu współrzędną.
Wszystkie współrzędne dla okien podrzędnych są względem lewego górnego rogu obszaru klienckiego okno nadrzędne.
Okno można się okno przez ustawienie hWndInsertAfter Flaga HWND_TOPMOST oraz zapewnienie, że nie jest ustawiona flaga SWP_NOZORDER, albo przez ustawienie położenie okna w kolejności Z, tak aby była ona powyżej wszelkich istniejących windows najwyższego. Najwyższej okno zrealizowaniu wierzchu, jego własnością systemu windows są również najwyższej. Jego właścicieli, jednak nie są zmieniane.
Jeśli flaga SWP_NOACTIVATE ani SWP_NOZORDER jest określony (oznacza to, że gdy aplikacja żąda, aby oknie jednocześnie aktywować i zmienił swoje stanowisko w kolejności Z), wartość określona w hWndInsertAfter jest używana tylko w następujących okolicznościach:
Aplikacja nie może uaktywnić okna nieaktywnego bez również doprowadzania do góry współrzędną. Aplikację można zmienić położenie aktywnego okna w kolejności z bez ograniczeń, lub można uaktywnić okno i następnie przenieść go do górnej części okna najwyższego lub najwyższej.
Okno nie jest już najwyższy, jeśli jest położenie do dołu (HWND_BOTTOM), współrzędną lub po dowolnego okna najwyższej. Gdy okno jest niż najwyższy, jego właścicieli i jego własnością systemu windows zostaną wykonane-najwyższej systemu windows.
Najwyższej okno może własne okno, ale nie na odwrót. Wszystkie okna (na przykład okno dialogowe) posiadane przez okno jest dokonywane okno do zapewnienia wszystkich posiadanych windows pobytu powyżej ich właściciela.
nbsp; Windows &NT: wymagana wersja 3.1 lub nowsza.
Systemu Windows:Wymaga systemu Windows 95 lub nowszego.
Systemu Windows CE:Nieobsługiwane.
Nagłówka:Zadeklarowane w pliku winuser.h.
Importowanie biblioteki:Użycie user32.lib.
Omówienie Windows, okno funkcji, BeginDeferWindowPos, EndDeferWindowPos, ShowWindow