CWnd::ScrollWindowEx

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

Wartość zwracany

Wartość zwracany jest SIMPLEREGION (prostokątnego unieważnione), COMPLEXREGION (poza prostokątem unieważnione regionu; prostokąty nakładających się) lub NULLREGION (nie unieważnione regionu), jeśli funkcja jest skuteczne; w przeciwnym razie wartość zwracany jest błąd.

Parametry

dx

Określa ilość w jednostkach urządzenia, przewijania poziomego. Ten parametr musi mieć wartość ujemną do przewijania w lewo.

dy

Określa wysokość, w jednostkach urządzenia, pionowe paski przewijania. Ten parametr musi mieć wartość ujemną, aby przewijać w górę.

lpRectScroll

Punkty struktury RECT , która określa część obszaru klienta, aby być przewijane. Jeśli ten parametr ma wartość NULL, całego obszaru klienta jest przewijane.

lpRectClip

Punkty struktury RECT , która określa prostokąta przycinania, aby przewijać. Ta struktura mają pierwszeństwo przed prostokąt wskazywanego przez lpRectScroll. Tylko bity wewnątrz prostokąta są przewijane. Bity poza tym prostokącie pozostają niezmienione, nawet wtedy, gdy są one w prostokącie lpRectScroll . Jeśli ten parametr ma wartość NULL, nie przycinania jest wykonywane na prostokąt przewijania.

prgnUpdate

Identyfikuje regionu, który zmienia się do przechowywania obszaru przeczy przewijania. Ten parametr może być NULL.

lpRectUpdate

Punkty struktury RECT , który będzie odbierał granice prostokąt przeczy przewijania. Ten parametr może być NULL.

flagi

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

Uwagi

Przewija zawartość obszaru okna klienta. Ta funkcja jest podobny do ScrollWindow funkcji, niektóre funkcje dodatkowe.

If SW_INVALIDATE and SW_ERASE are not specified, the ScrollWindowEx member function does not invalidate the area that is scrolled away from. If either of these flags is set, ScrollWindowEx invalidates this area. The area is not updated until the application calls the UpdateWindow member function, calls the RedrawWindow member function (specifying RDW_UPDATENOW or RDW_ERASENOW), or retrieves the WM_PAINT message from the application queue.

Jeśli okno WS_CLIPCHILDREN styl, obszary zwracane określonym przez prgnUpdate i lpRectUpdate reprezentują całkowity obszar okna przewijane, które muszą zostać zaktualizowane, w tym wszystkie obszary okien podrzędnych, które wymagają aktualizacji.

Jeśli określono flagę SW_SCROLLCHILDREN , system Windows będzie nie poprawna aktualizacja ekranu Jeśli część okna podrzędnego jest przewijane. Część okna przewijane dziecka, który leży poza prostokąta źródłowego nie zostaną wykasowane i będzie się prawidłowo rysowane nie w jego nowe miejsce docelowe. Użycie DeferWindowPos systemu Windows funkcja przenoszenia okien podrzędnych, które nie znajdują się całkowicie wewnątrz prostokąta lpRectScroll . 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 lpRectScroll, lpRectClip, lpRectUpdatei prgnUpdate) są zakładane w współrzędne klienta, niezależnie od tego, czy okno ma styl klasowy CS_OWNDC lub CS_CLASSDC . Użycie LPtoDP i DPtoLP Windows funkcje konwersji z logicznego współrzędne i w razie potrzeby.

Omówienie CWnd |nbsp; Klasa członków | Wykres hierarchii

Zobacz teżnbsp;CWnd::RedrawWindow, CDC::ScrollDC, CWnd::ScrollWindow, CWnd::UpdateWindow, :: DeferWindowPos, :: ScrollWindowEx

Index