CScrollView::SetScrollSizes
Volání SetScrollSizes při zobrazení chcete aktualizovat.
void SetScrollSizes(
int nMapMode,
SIZE sizeTotal,
const SIZE& sizePage = sizeDefault,
const SIZE& sizeLine = sizeDefault
);
Parametry
nMapMode
Režim mapování pro toto zobrazení.Možné hodnoty:Mapování režimu
Logická jednotka
Pozitivní ose y rozšiřuje...
MM_TEXT
1 obrazový bod
Dolů
MM_HIMETRIC
0,01 mm
Nahoru
MM_TWIPS
1/1440 v
Nahoru
MM_HIENGLISH
v 0,001
Nahoru
MM_LOMETRIC
0,1 mm
Nahoru
MM_LOENGLISH
v 0,01
Nahoru
Všechny tyto režimy jsou definovány systémem Windows.Dva režimy standardní mapování MM_ISOTROPIC a MM_ANISOTROPIC , nejsou použity pro CScrollView .Knihovna tříd poskytuje SetScaleToFitSize členské funkce pro změnu měřítka zobrazení velikosti okna.Popisuje tři sloupce v tabulce uvedené souřadnice orientaci.
sizeTotal
Celková velikost posuvníku zobrazení.Cx člen obsahuje vodorovný rozsah.Cy člen obsahuje svislý.Velikosti jsou logické jednotky.I cx a cy musí být větší nebo rovna 0.sizePage
Částky vodorovný a svislý posun v každém směru v reakci na myši klepněte na posuvník hřídel.Cx člen obsahuje vodorovný částku.Cy člen obsahuje svislý částku.sizeLine
Částky vodorovný a svislý posun v každém směru v reakci na myši klepněte na šipku posuvníku.Cx člen obsahuje vodorovný částku.Cy člen obsahuje svislý částku.
Poznámky
Volání ve své přepsání OnUpdate členské funkce upravte vlastnosti posouvaného při například dokument zpočátku zobrazí nebo změní jeho velikost.
Informace o velikosti bude obvykle získat z přidružených dokumentu v zobrazení voláním členské funkce dokumentu, možná se nazývá GetMyDocSize , je s vaší třídy odvozené dokumentu.Následující kód ukazuje tento přístup:
CMyScrollDoc* pMyDoc = (CMyScrollDoc*)GetDocument();
SetScrollSizes(nMapMode, pMyDoc->GetMyDocSize());
Alternativně může být někdy musíte nastavit pevnou velikost, jako v následujícím kódu:
SetScrollSizes(nMapMode, CSize(100, 100));
Je nutné nastavit mapování režimu na některého z režimů mapování systému Windows s výjimkou MM_ISOTROPIC nebo MM_ANISOTROPIC .Pokud chcete použít v režimu bez omezení mapování, zavolejte SetScaleToFitSize členské funkce místo SetScrollSizes .
Příklad
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());
}
Požadavky
Záhlaví: afxwin.h
Viz také
Referenční dokumentace
CScrollView::SetScaleToFitSize