CWnd::ScrollWindowEx
Führt den Inhalt des Clientbereichs eines Fensters aus.
int ScrollWindowEx(
int dx,
int dy,
LPCRECT lpRectScroll,
LPCRECT lpRectClip,
CRgn* prgnUpdate,
LPRECT lpRectUpdate,
UINT flags
);
Parameter
dx
Gibt die Menge, in den Geräteeinheiten, horizontal Bildlauf an.Dieser Parameter muss einen negativen Wert haben, um nach links liegen.Dy
Gibt die Menge, in den Geräteeinheiten, vertikalem Bildlauf an.Dieser Parameter muss einen negativen Wert haben, um oben liegen.lpRectScroll
Zeigt auf RECT-Struktur, das den Teil des durch einen Bildlauf angezeigt werden Clientbereichs angibt.Wenn dieser Parameter NULL ist, wird der gesamte Clientbereich Bildlauf ausgeführt.lpRectClip
Zeigt auf RECT-Struktur, das das Ausschneiderechteck angibt, um einen Bildlauf durchzuführen.Diese Struktur verfügt über lpRectScroll Vorrang vor dem Rechteck, das angezeigt wird.Nur Bits innerhalb des Rechtecks werden durch einen Bildlauf angezeigt.Bits außerhalb dieses Rechtecks werden nicht beeinflusst, auch wenn sie im lpRectScroll Rechteck sind.Wenn dieser Parameter NULL ist, wird kein Clipping auf dem Bildlaufrechteck ausgeführt.prgnUpdate
Identifiziert den Bereich, der geändert wird, um den Bereich enthält ungültig gemacht, indem durch.Dieser Parameter kann NULL.lpRectUpdate
Zeigt auf RECT-Struktur, das die Grenzen des Rechtecks empfängt, indem es ungültig wird, durch.Dieser Parameter kann NULL.flags
Kann einen der folgenden Werte haben:SW_ERASE, wenn Sie mit bereitgestellten SW_INVALIDATE, Löschen der neu ungültig gemacht Bereich durch Senden einer WM_ERASEBKGND Meldung in das Fenster.
SW_INVALIDATE macht den Bereich ungültig durch prgnUpdate identifiziert wird, nachdem es einen Bildlauf durchgeführt hat.
SW_SCROLLCHILDREN werden alle untergeordneten Fenster Bildlauf die das Rechteck überschneiden, das auf durch lpRectScroll durch die Anzahl der Pixel dargestellt wird, die in dx und in Dy angegeben werden.Windows WM_MOVE sendet eine Meldung an alle untergeordneten Fenstern, die lpRectScroll überschneiden, auch wenn keine wechseln.Die Einfügemarke wird neu angeordnet, wenn ein untergeordnetes Fenster Bildlauf ausgeführt wird und das Cursor-Rechteck das Bildlaufrechteck schneidet.
Rückgabewert
Der Rückgabewert ist SIMPLEREGION (Ungültiger rechteckiger Bereich), COMPLEXREGION (nonrectangular ungültiger Bereich; überlappende Rechtecke) oder NULLREGION (kein ungültiger Bereich), wenn die Funktion erfolgreich; andernfalls ist der Rückgabewert ERROR.
Hinweise
Diese Funktion ist zur ScrollWindow-Funktion, mit einigen zusätzlichen Funktionen ähnlich.
Wenn SW_INVALIDATE und SW_ERASE nicht angegeben werden, die ScrollWindowEx-Memberfunktion nicht den Bereich ungültig dem von den Bildlauf ausgeführt wird.Wenn eines der Flags festgelegt ist, wird ScrollWindowEx diesen Bereich ungültig.Der Bereich wird nicht aktualisiert, bis die Anwendung die UpdateWindow-Memberfunktion aufruft, die RedrawWindow-Memberfunktion ( RDW_UPDATENOW oder RDW_ERASENOW angibt) aufgerufen wird, oder die WM_PAINT Meldung aus der Anwendungswarteschlange abruft.
Wenn das Fenster das WS_CLIPCHILDREN Format verfügt, erstellen die zurückgegebenen Bereiche, die von prgnUpdate und lpRectUpdate angegeben werden, die Gesamtfläche Bildlauf des Fensters, das aktualisiert werden muss, einschließlich alle Bereiche in den untergeordneten Fenstern dar, die das Aktualisieren erfordern.
Wenn das SW_SCROLLCHILDREN-Flag angegeben wird, aktualisiert Windows nicht ordnungsgemäß den Bildschirm, wenn ein Teil eines untergeordneten Fensters Bildlauf ausgeführt wird.Der Teil des Bildlauf untergeordneten Fensters, das außerhalb des Quellrechtecks befindet, wird nicht gelöscht und ist nicht ordnungsgemäß in ihrem neuen Ziel neu gezeichnet.Verwenden Sie die DeferWindowPos Windows-Funktion, um untergeordnete Fenster zu verschieben, die vollständig nicht innerhalb des Rechtecks lpRectScroll liegen.Der Cursor wird neu angeordnet, wenn das SW_SCROLLCHILDREN-Flag festgelegt ist und das Einfügemarkerechteck das Bildlaufrechteck schneidet.
Alle Eingabe- und Ausgabekoordinaten (für lpRectScroll, lpRectClip, lpRectUpdate und prgnUpdate) wird angenommen, dass sie in Clientkoordinaten, unabhängig davon sein, dass das Fenster Format der CS_OWNDC oder CS_CLASSDC-Klasse verfügt.Verwenden Sie die LPtoDP und DPtoLP Windows-Funktionen, um nach und der logischen Koordinaten zu konvertieren, ggf.
Anforderungen
Header: afxwin.h