CScrollView-Klasse
CView mit Bildlauffunktionen.
class CScrollView : public CView
Mitglieder
Geschützte Konstruktoren
Name |
Description |
---|---|
Erstellt ein CScrollView-Objekt. |
Öffentliche Methoden
Name |
Description |
---|---|
Gibt an, ob die Bildlaufansicht horizontale und vertikale Bildlaufleisten. |
|
Füllt den Bereich einer Ansicht durchführenden Bildlauf außerhalb des Bereichs aus. |
|
Ruft die aktuelle Bildlaufposition in den Geräteeinheiten ab. |
|
Ruft den aktuellen Zuordnungsmodus, die Gesamtgröße und die Zeile und die Seitengrößen der bildlauffähigen Ansicht ab. Größen sind in den Geräteeinheiten. |
|
Ruft die aktuelle Bildlaufposition in logischen Einheiten ab. |
|
Ruft die Gesamtgröße der Bildlaufansicht in logische Einheiten ab. |
|
Ruft die Größe der Ansicht, die Größe der Frame vorzuschreiben. |
|
Führt die Ansicht zu einem bestimmten Punkt Bildlauf, der in logischen Einheiten angegeben ist. |
|
Setzt die Bildlaufansicht in Skala-zuAnpassung Modus. |
|
Legt den Zuordnungsmodus der Bildlaufansicht, Gesamtgröße fest, und horizontaler und vertikaler Bildlauf) liegt. |
Hinweise
Sie können Standardbildlauf behandeln sich in einer Klasse, die von CView abgeleitet wird, indem Sie die Meldung-zugeordneten OnHScroll und OnVScroll-Memberfunktionen überschreiben. Die CScrollView fügt die folgenden Funktionen den CView-Funktionen hinzu:
Sie verwaltet Fenster und Viewportgrößen und -Zuordnungsmodi.
Sie führt automatisch als Reaktion auf Bildlaufleistenmeldungen aus.
Sie führt automatisch als Reaktion auf Meldungen auf der Tastatur, einer NichtBildlauf Maus oder vom IntelliMouse-Rad aus.
Um auf Meldungen von der Tastatur automatisch wechseln, eine WM_KEYDOWN-Meldung und Test für VK_DOWN, VK_PREV und Aufruf SetScrollPos hinzufügen.
Sie können Mausradbildlauf behandeln den, indem Sie die Meldung-zugeordneten OnMouseWheel und OnRegisteredMouseWheel-Memberfunktionen überschreiben. Obwohl sie für CScrollView sind, unterstützen diese Memberfunktionen das empfohlene Verhalten für WM_MOUSEWHEEL, die Mausraddrehungsmeldung.
Um einen automatischen Bildlauf zu nutzen, leiten Sie die Ansichtsklasse von CScrollView anstelle von CView. Wenn die Ansicht zuerst erstellt wird, wenn Sie die Größe der bildlauffähigen Ansicht basierend auf der Größe des Dokuments berechnen möchten, rufen Sie die SetScrollSizes-Memberfunktion von der Überschreibung entweder von CView::OnInitialUpdate oder von CView::OnUpdate auf. (Sie müssen einen eigenen Code schreiben, um die Größe des Dokuments abfragen. Ein Beispiel finden Sie unter Sie Kritzeln Beispiel.)
Der Aufruf der Memberfunktion SetScrollSizes legt den Zuordnungsmodus der Ansicht, die gesamten Dimensionen der Bildlaufansicht und die Mengen fest, um horizontal und vertikal liegen. Alle Größen sind in logischen Einheiten. Die logische Größe der Ansicht wird normalerweise von den Daten berechnet, die im Dokument gespeichert, sondern in einigen Fällen können Sie eine feste Größe angeben. Beispiele beider Ansätze finden Sie unter CScrollView::SetScrollSizes.
Sie geben die Mengen an, um in logischen Einheiten horizontal und vertikal liegen. Standardmäßig wird der Benutzer auf einen Schaft für Bildlaufleiste außerhalb des Bildlauffelds klickt, führt CScrollView eine "Seite" Bildlauf. Wenn der Benutzer auf einen Bildlaufpfeil an jedem Ende einer Bildlaufleiste klickt, führt CScrollView eine Zeile "." Bildlauf Standardmäßig ist eine Seite 1/10 der Gesamtgröße der Ansicht; ist eine Zeile 1/10 der Seitengröße. Überschreiben Sie diese Standardwerte, indem Sie Sondergrößen in der SetScrollSizes-Memberfunktion übergeben. Beispielsweise könnten Sie die horizontale Größe zu einem Bruchteil der Breite der Gesamtgröße und die vertikale Größe der Höhe einer Zeile in der aktuellen Schriftart fest.
Anstelle des Bildlaufs kann CScrollView die Ansicht der Größe des aktiven Fensters automatisch skalieren. In diesem Modus hat die Ansicht keine Bildlaufleisten und logische Ansicht wird gestreckt oder verkleinert wird, um den Clientbereich des Fensters genau zu passen. Um diese Skala-zuAnpassung Funktion zu verwenden, erhalten Sie CScrollView::SetScaleToFitSize auf. (Abrufen SetScaleToFitSize oder SetScrollSizes, jedoch nicht beide) auf.
Bevor die OnDraw-Memberfunktion der abgeleiteten Ansichtsklasse aufgerufen wird, stellt CScrollView automatisch den Viewportursprung auf das CPaintDC Gerätekontextobjekt ein, das er zu OnDraw führt.
Um den Viewportursprung auf das Bildlauffenster anzuhalten, überschreibt CScrollViewCView::OnPrepareDC. Diese Anpassung ist für den CPaintDC Gerätekontext automatisch, den CScrollView zu OnDraw führt, aber Sie müssen aufrufen CScrollView::OnPrepareDC sich für alle anderen Gerätekontexte, die Sie verwenden, wie CClientDC. Sie können CScrollView::OnPrepareDC überschreiben, um den Stift, Hintergrundfarbe und andere Zeichnungsattribute festzulegen, jedoch die Basisklasse auf, um Skalierung auszuführen.
Bildlaufleisten können in drei Stellen relativ zu einer Ansicht, wie in den folgenden Fällen dargestellt:
Standardfensterstilbildlaufleisten können für die Ansicht mit WS_HSCROLL und WS_VSCROLLWindows-Formate festgelegt werden.
ScrollBar-Steuerelementen können auf Frames ebenfalls hinzugefügt werden, die die Ansicht enthalten, in diesem Fall das Framework WM_HSCROLL und WM_VSCROLL Meldungen vom Rahmenfenster an nur weiterleitet aktive Ansicht.
Das Framework führt auch Bildlaufmeldungen von einem CSplitterWnd Splitter-Steuerelement an das derzeit aktive Splitterbereich beibehalten (eine Ansicht). Wenn es in CSplitterWnd mit freigegebenen Bildlaufleisten platziert wird, wird ein CScrollView-Objekt die freigegebenen, anstatt einen eigenen erstellen.
Weitere Informationen zur Verwendung von CScrollView, finden Sie unter Dokument-/Ansichtarchitektur und Abgeleitete Ansichtsklassen verfügbar in MFC.
Vererbungshierarchie
CScrollView
Anforderungen
Header: afxwin.h