Sdílet prostřednictvím


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

Třída CScrollView

Graf hierarchie

CScrollView::SetScaleToFitSize

CScrollView::GetDeviceScrollSizes

CScrollView::GetTotalSize