CScrollView::SetScrollSizes
Rufen Sie SetScrollSizes auf, wenn die Ansicht im Begriff ist aktualisiert.
void SetScrollSizes(
int nMapMode,
SIZE sizeTotal,
const SIZE& sizePage = sizeDefault,
const SIZE& sizeLine = sizeDefault
);
Parameter
nMapMode
Der Zuordnungsmodus festzulegende für diese Ansicht. Mögliche Werte:Zuordnungsmodus
Logische Einheit
Positive y-Achse erweitert...
MM_TEXT
1 Pixel
Nach unten
MM_HIMETRIC
0,01 mm
Nach oben
MM_TWIPS
1/1440 Zoll
Nach oben
MM_HIENGLISH
0,001 Zoll
Nach oben
MM_LOMETRIC
0,1 mm
Nach oben
MM_LOENGLISH
0,01 Zoll
Nach oben
Alle diese Modi werden von Windows definiert. Zwei Standardzuordnungsmodi, MM_ISOTROPIC und MM_ANISOTROPIC, werden nicht für CScrollView verwendet. Die Klassenbibliothek stellt die SetScaleToFitSize-Memberfunktion für die Skalierung der Ansicht Fenstergröße bereit. Spalte drei in der Tabelle oben beschreibt die beigeordnete Ausrichtung.
sizeTotal
Die Gesamtgröße der Bildlaufansicht. Der cx-Member enthält den horizontalen Wertebereich. Der cy-Member enthält den vertikalen Wertebereich. Größen sind in logischen Einheiten. müssen cx und cy größer oder gleich 0 sein.sizePage
Die horizontale und vertikale Größen für den Bildlauf in einer Richtung als Reaktion auf einen Mausklick in einem Schaft für Bildlaufleiste. Der cx-Member enthält die horizontale Menge. Der cy-Member enthält die vertikale Menge.sizeLine
Die horizontale und vertikale Größen für den Bildlauf in einer Richtung als Reaktion auf einen Mausklick in einem Bildlaufpfeil. Der cx-Member enthält die horizontale Menge. Der cy-Member enthält die vertikale Menge.
Hinweise
Rufen Sie ihn in der Überschreibung der OnUpdate-Memberfunktion auf, um Eigenschaften anzupassen, wenn wird beispielsweise das Dokument zuerst angezeigt oder, wenn die Größe ändert.
Sie erhalten normalerweise Größeninformationen aus dem zugeordneten Dokument der Ansicht, indem Sie eine Dokumentenmemberfunktion aufrufen, möglicherweise aufgerufen GetMyDocSize, das mit der abgeleiteten Dokumentklasse angeben. Der folgende Code veranschaulicht diesen Ansatz an:
CMyScrollDoc* pMyDoc = (CMyScrollDoc*)GetDocument();
SetScrollSizes(nMapMode, pMyDoc->GetMyDocSize());
Alternativ müssen Sie möglicherweise manchmal eine feste Größe, wie im folgenden Code festlegen:
SetScrollSizes(nMapMode, CSize(100, 100));
Sie müssen den Zuordnungsmodus auf eine der Windows-Zuordnungsmodi außer MM_ISOTROPIC oder MM_ANISOTROPIC festlegen. Wenn Sie einen zwanglosen Zuordnungsmodus verwenden möchten, rufen Sie die SetScaleToFitSize-Memberfunktion anstelle SetScrollSizes auf.
Beispiel
void CMyScrollView::OnUpdate(CView* /*pSender*/, LPARAM /*lHint*/,
CObject* /*pHint*/)
{
// Implement a GetMyDocSize() member function in
// your document class; it returns a CSize.
CMyScrollDoc* pMyDoc = (CMyScrollDoc*)GetDocument();
SetScrollSizes(MM_LOENGLISH, pMyDoc->GetMyDocSize());
ResizeParentToFit(); // Default bShrinkOnly argument
}
void CMyScrollView::OnInitialUpdate()
{
CScrollView::OnInitialUpdate();
// The GetMyDocSize() member function is implemented in
// your document class. The return type is CSize.
CMyScrollDoc* pMyDoc = (CMyScrollDoc*)GetDocument();
SetScrollSizes(MM_TEXT, pMyDoc->GetMyDocSize());
}
Anforderungen
Header: afxwin.h
Siehe auch
Referenz
CScrollView::SetScaleToFitSize