ScrollWindowEx

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

Parametry

hWnd
Dojście do okna, w którym obszaru klienckiego ma być przewijane.
dx
Określa ilość w jednostkach urządzenia, przewijania poziomego. Ten parametr musi być wartością ujemną do przewijania w lewo.
dy
Określa wysokość, w jednostkach urządzenia, pionowe paski przewijania. Ten parametr musi być wartością ujemną aby przewijać w górę.
prcScroll
Wskaźnik do RECT Struktura określająca część obszaru klienta, aby być przewijane. Jeśli ten parametr ma wartość NULL, całego obszaru klienta jest przewijane.
prcClip
Wskaźnik do struktury RECT zawiera współrzędne prostokąta przycinania. Dotyczy tylko urządzenia bitów wewnątrz prostokąta przycinania. Bity przewijane z zewnątrz prostokąta wewnątrz są malowane; bity przewijane wewnątrz prostokąta na zewnątrz nie są malowane.
hrgnUpdate
Dojście do regionu, który zmienia się do przechowywania obszaru przeczy przewijania. Ten parametr może mieć wartości NULL.
prcUpdate
Wskaźnik do struktury RECT otrzymujących granice prostokąt przeczy przewijania. Ten parametr może mieć wartości NULL.
flagi
Określa flagi, które kontrolują, przewijanie. Ten parametr może mieć jedną z następujących wartości:
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ąć.

Zwraca wartości

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.

Uwagi

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.

Skrócone informacje

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.

Zobacz też

Przewiń paski omówienie, funkcje paska przewijania, DeferWindowPos, DPtoLP, LPtoDP, RECT, RedrawWindow, UpdateWindow

Index