Funkcja ScrollWindowEx przewija zawartość obszaru klienta określonego okna.
int ScrollWindowEx ( HWND hWnd, / / dojście do okna do przewijaniaint dx, / / kwota poziome przewijanieint dy, / / kwota pionowe przewijanieStała RECT* prcScroll, / / adresu struktury z przewijania prostokątStała RECT* prcClip, / / adresu struktury z klipu prostokątHRGNhrgnUpdate, / / dojście do aktualizacji regionuLPRECTprcUpdate, / / adresu struktury dla aktualizacji prostokątUINTflagi / / przewijanie flagi);
Wartość | Znaczenie |
---|---|
SW_ERASE | Wymazuje obszaru nowo unieważnione przez przesłanie WM_ERASEBKGND do okna, kiedy określona z flagą SW_INVALIDATE. |
SW_INVALIDATE | Unieważnia regionu określonego przez parametr hrgnUpdate po przewinięciu dokumentu. |
SW_SCROLLCHILDREN | Przewija wszystkich okien podrzędnych, które przecinają się prostokąt wskazywanego przez parametr prcScroll . Okien podrzędnych są przewijane przez liczbę pikseli, określone przez parametry dx i dy . System wysyła wiadomość WM_MOVE do wszystkich okien podrzędnych, które przecinają się prostokąt prcScroll , nawet, jeśli nie poruszają się. |
SW_SMOOTHSCROLL | Systemu Windows NT 5.0 i nowsze: Przewija, przy użyciu płynne przewijanie. Umożliwia HIWORD część parametr flagi wskazuje, ile czasu operacji gładkie przewijanie powinny podjąć. |
Jeśli funkcja, wartość zwracany jest SIMPLEREGION (prostokątnego unieważnione), COMPLEXREGION (poza prostokątem unieważnione regionu; nakładających się prostokąty) lub NULLREGION (nie unieważnione regionu).
Jeśli funkcja zawiedzie, wartość zwracany jest błąd. Aby uzyskać rozszerzonych informacji o błędach, należy wywołać GetLastError.
Jeśli nie określono flagi SW_INVALIDATE i SW_ERASE, ScrollWindowEx nie unieważnia obszar, który jest przewijane od. Jeśli jeden z tych flag jest ustawiona, ScrollWindowEx unieważnia tego obszaru. Obszar nie jest aktualizowany do wywołania aplikacji UpdateWindow funkcji, wzywa RedrawWindow funkcji (Określanie flagi RDW_UPDATENOW lub RDW_ERASENOW) lub pobiera komunikat WM_PAINT z kolejki aplikacji.
Jeśli okno zostało zapisane w stylu WS_CLIPCHILDREN, obszary zwracane określonym przez hrgnUpdate i prcUpdate reprezentuje całkowity obszar okna przewijane, które muszą zostać zaktualizowane, w tym wszystkie obszary okien podrzędnych, które wymagają aktualizacji.
Jeżeli określono flagę SW_SCROLLCHILDREN, system nie prawidłowo aktualizować ekranu, jeśli przewijane część okna podrzędnego. Część okna przewijane dziecka, który leży poza prostokąta źródłowego nie jest czyszczone, a nie jest poprawnie rysowane w jego nowe miejsce docelowe. Aby przenieść okien podrzędnych, które nie znajdują się całkowicie wewnątrz prostokąta określonego przez prcScroll, należy użyć funkcji DeferWindowPos . Kursor jest położenie, jeśli ustawiona została flaga SW_SCROLLCHILDREN i karetka prostokącie przecina prostokąt przewijania.
Wszystkie współrzędne wejściowe i wyjściowe (dla prcScroll, prcClip, prcUpdatei hrgnUpdate) są określane jako współrzędne klienta, niezależnie od tego, czy okno ma styl klasowy CS_OWNDC lub CS_CLASSDC. Użyj funkcji LPtoDP i DPtoLP do konwersji do i z logicznego współrzędne, w razie potrzeby.
Systemu Windows CE: Parametr flagi nie obsługuje SW_SCROLLCHILDREN.
Tylko jeden z parametrów dx i dy może być różna od zera.
nbsp; Windows &NT: wymagana wersja 3.1 lub nowsza.
Systemu Windows:Wymaga systemu Windows 95 lub nowszego.
Systemu Windows CE:Wymaga wersja 1.0 lub nowsza.
Nagłówka:Zadeklarowane w pliku winuser.h.
Importowanie biblioteki:Użycie user32.lib.
Przewiń paski omówienie, funkcje paska przewijania, DeferWindowPos, DPtoLP, LPtoDP, RECT, RedrawWindow, UpdateWindow