DeferWindowPos

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);
 

Parametry

hWinPosInfo
Dojście do wielu okno – Struktura stanowisko, która zawiera informacje o jedno lub więcej okien rozmiar i położenie. Ta struktura jest zwrócony przez BeginDeferWindowPos lub ostatnie wywołanie DeferWindowPos.
hWnd
Dojście do okna, które aktualizacji informacji jest przechowywany w strukturze.
hWndInsertAfter
Dojście do okna, który poprzedza okna pozycjonowane w kolejności Z. Ten parametr musi być uchwyt okna lub jedna z następujących wartości:
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.

x
Określa współrzędną x okna lewy górny róg.
y
Określa współrzędną y okna lewy górny róg.
cx
Określa nową szerokość okna w pikselach.
cy
Określa nową wysokość okna w pikselach.
uFlags
Określa kombinację następujące wartości, które mają wpływ na rozmiar i położenie okna:
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.

Zwraca wartości

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.

Uwagi

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.

Skrócone informacje

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.

Zobacz też

Omówienie Windows, okno funkcji, BeginDeferWindowPos, EndDeferWindowPos, ShowWindow

Index