CWnd::ScrollWindowEx

Przewija zawartość okna obszaru klienta.

int ScrollWindowEx( 
   int dx, 
   int dy, 
   LPCRECT lpRectScroll, 
   LPCRECT lpRectClip, 
   CRgn* prgnUpdate, 
   LPRECT lpRectUpdate, 
   UINT flags  
);

Parametry

  • dx
    Określa, w urządzenia jednostek przewijania poziomego.Ten parametr musi mieć wartość ujemną, aby przewinąć do lewej.

  • dy
    Określa, w urządzenia jednostek przewijania pionowego.Ten parametr musi mieć wartość ujemną, aby przewijać w górę.

  • lpRectScroll
    Wskazuje na RECT strukturę, która określa część obszaru klienta, aby być przewijane.Jeśli ten parametr jest NULL, jest przewijane całego obszaru klienta.

  • lpRectClip
    Wskazuje na RECT strukturę, która określa prostokąta przycinania do przewijania.Ta struktura ma pierwszeństwo przed prostokąt wskazywanej przez lpRectScroll.Tylko bity wewnątrz prostokąta są przewijane.Bity poza prostokątem, to nie dotyczy, nawet jeśli są one w lpRectScroll prostokąta.Jeśli ten parametr jest NULL, nie przycinania jest wykonywana na prostokąt przewijania.

  • prgnUpdate
    Identyfikuje regionu modyfikacji do przechowywania region przewijania zostaną unieważnione.Ten parametr może być NULL.

  • lpRectUpdate
    Wskazuje na RECT strukturę, która otrzyma granice prostokąt przeczy przewijania.Ten parametr może być NULL.

  • flags
    Może mieć jedną z następujących wartości:

    • SW_ERASE , gdy określony z SW_INVALIDATE, wymazuje regionu nowo unieważnione przez wysłanie WM_ERASEBKGND komunikat do okna.

    • SW_INVALIDATE unieważnia regionu określonego przez prgnUpdate po przewinięciu dokumentu.

    • SW_SCROLLCHILDREN Przewija wszystkich okien podrzędnych, które przecinają się prostokąt wskazywanej przez lpRectScroll przez liczbę pikseli, określona w dx i dy.System Windows wysyła WM_MOVE wiadomość do wszystkich okien podrzędnych, które przecinają się lpRectScroll, nawet jeśli nie są przenoszone.Daszek zmianę położenia okna podrzędnego jest przewijane i prostokąt kursor przecina prostokąt przewijania.

Wartość zwracana

Zwracana jest wartość SIMPLEREGION (unieważnione prostokątnego), COMPLEXREGION (prostokątny region unieważnione; Nachodzenie prostokąty) lub NULLREGION (nie unieważnione region), jeśli funkcja jest pomyślne; w przeciwnym razie zwracana jest wartość Błąd.

Uwagi

Ta funkcja jest podobny do ScrollWindow funkcji niektóre dodatkowe funkcje.

Jeśli SW_INVALIDATE i SW_ERASE nie są określone, ScrollWindowEx Członkowskich funkcji nie unieważnia obszar, który jest przewijane z dala od.Jeśli ustawiono żadnej z tych flag, ScrollWindowEx unieważnia tego obszaru.Obszar nie jest aktualizowany do wywołania aplikacji UpdateWindow funkcja Członkowskie, wywołań RedrawWindow Członkowskich funkcji (Określanie RDW_UPDATENOW lub RDW_ERASENOW), lub pobiera WM_PAINT wiadomości z kolejki aplikacji.

Jeśli okno ma WS_CLIPCHILDREN styl, zwracane obszary określone przez prgnUpdate i lpRectUpdate reprezentuje całkowity obszar okna przewijane, który musi zostać zaktualizowany, w tym wszystkie obszary w okien podrzędnych, które wymagają aktualizacji.

Jeśli SW_SCROLLCHILDREN określono flagi, Windows nie będzie poprawnie aktualizowana ekranu Jeżeli część okna podrzędnego jest przewijane.Część okna podrzędnego przewijane, który leży poza prostokąta źródłowego nie zostaną usunięte i zostaną narysowane nie ponownie poprawnie w jego nowe miejsce docelowe.Użyj DeferWindowPos funkcji systemu Windows do przenoszenia okien podrzędnych, które nie znajdują się w całkowicie lpRectScroll prostokąta.Kursor jest ponownie, jeśli SW_SCROLLCHILDREN jest ustawiona flaga i prostokąt daszek przecina prostokąt przewijania.

Wszystkie współrzędne wejściowe i wyjściowe (dla lpRectScroll, lpRectClip, lpRectUpdate, i prgnUpdate) są przyjmuje się współrzędne klienta, niezależnie od tego, czy okno ma CS_OWNDC lub CS_CLASSDC klasy stylu.Użyj LPtoDP i DPtoLP funkcje systemu Windows do konwersji z współrzędne logicznych i w razie potrzeby.

Wymagania

Nagłówek: afxwin.h

Zobacz też

Informacje

Klasa CWnd

Diagram hierarchii

CWnd::RedrawWindow

CDC::ScrollDC

CWnd::ScrollWindow

CWnd::UpdateWindow

DeferWindowPos

ScrollWindowEx