Condividi tramite


CScrollView::SetScrollSizes

Chiamare SetScrollSizes quando la visualizzazione sta per essere aggiornata.

void SetScrollSizes( 
   int nMapMode, 
   SIZE sizeTotal, 
   const SIZE& sizePage = sizeDefault, 
   const SIZE& sizeLine = sizeDefault  
);

Parametri

  • nMapMode
    La modalità di mapping da impostare per questa visualizzazione. I valori possibili includono:

    Modalità di mapping

    Unità logica

    l'asse y positiva estende…

    MM_TEXT

    1 pixel

    Verso il basso

    MM_HIMETRIC

    0,01 millimetri

    Verso l'alto

    MM_TWIPS

    In 1/1440

    Verso l'alto

    MM_HIENGLISH

    In 0,001

    Verso l'alto

    MM_LOMETRIC

    0,1 millimetri

    Verso l'alto

    MM_LOENGLISH

    In 0,01

    Verso l'alto

    Tutte queste modalità sono definite da Windows. Due modalità di mapping standard, MM_ISOTROPIC e MM_ANISOTROPIC, non vengono utilizzate per CScrollView. La libreria di classi fornisce la funzione membro SetScaleToFitSize per ridimensionare la visualizzazione della dimensione della finestra. La colonna tre nella tabella precedente sono descritti l'orientamento di coordinate.

  • sizeTotal
    La dimensione totale di visualizzazione a scorrimento. Il membro cx contiene l'ambito orizzontale. Il membro cy contiene l'ambito verticale. Le dimensioni sono espressi in unità logiche. Sia cx che cy devono essere maggiore o uguale a 0.

  • sizePage
    Gli importi orizzontali e verticali lo scorrimento in tutte le direzioni in risposta a un clic del mouse nell'asta cilindrica barra di scorrimento. Il membro cx contiene l'importo orizzontale. Il membro cy contiene l'importo verticale.

  • sizeLine
    Gli importi orizzontali e verticali lo scorrimento in tutte le direzioni in risposta a un clic del mouse su una freccia di scorrimento. Il membro cx contiene l'importo orizzontale. Il membro cy contiene l'importo verticale.

Note

Chiamarlo nell'override della funzione membro OnUpdate per regolare le caratteristiche di scorrimento quando, ad esempio, il documento è inizialmente visualizzato o quando si modifica la dimensione.

In genere si otterrà informazioni di dimensione dal documento associato della visualizzazione chiamando una funzione membro di documento, talvolta chiamato GetMyDocSize, che fornisce la classe derivata del documento. Il codice seguente viene illustrato questo approccio:

CMyScrollDoc* pMyDoc = (CMyScrollDoc*)GetDocument();
SetScrollSizes(nMapMode, pMyDoc->GetMyDocSize());

In alternativa, è talvolta necessario impostare una dimensione fissa, come nel codice seguente:

SetScrollSizes(nMapMode, CSize(100, 100));

È necessario impostare la modalità di mapping a qualsiasi modalità di mapping di Windows tranne MM_ISOTROPIC o MM_ANISOTROPIC. Se si desidera utilizzare una modalità di mapping non costretta, chiamare la funzione membro SetScaleToFitSize anziché SetScrollSizes.

Esempio

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());
}

Requisiti

Header: afxwin.h

Vedere anche

Riferimenti

Classe CScrollView

Grafico delle gerarchie

CScrollView::SetScaleToFitSize

CScrollView::GetDeviceScrollSizes

CScrollView::GetTotalSize