Partager via


CScrollView::SetScrollSizes

Appelez SetScrollSizes lorsque la vue est sur le point d'être mise à jour.

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

Paramètres

  • nMapMode
    Le mode de mappage à définir pour cette vue.Les valeurs possibles sont les suivantes :

    Mode de mappage

    Unité logique

    L'axe des ordonnées positives étend…

    MM_TEXT

    1 pixel

    Le bas

    MM_HIMETRIC

    0,01 mm

    Arrière

    MM_TWIPS

    1/1440 po

    Arrière

    MM_HIENGLISH

    0,001 dans

    Arrière

    MM_LOMETRIC

    0,1 mm

    Arrière

    MM_LOENGLISH

    0,01 dans

    Arrière

    Tous ces vues sont définis par windows.Deux modes de mappage standard, MM_ISOTROPIC et MM_ANISOTROPIC, ne sont pas utilisés pour CScrollView.La bibliothèque de classes fournit la fonction membre d' SetScaleToFitSize pour mettre à l'échelle la vue à la taille de la fenêtre.La colonne trois dans le tableau ci-dessus décrit l'orientation de coordonnées.

  • sizeTotal
    La taille totale de la zone de défilement.Le membre de cx contient l'étendue horizontale.Le membre de CY contient l'étendue verticale.Les tailles sont en unités logiques.cx et CY doivent être supérieure ou égale à 0.

  • sizePage
    Les quantités horizontale et verticale au défilement dans chaque direction en réponse à un clic de souris dans un axe de barre de défilement.Le membre de cx contient la quantité horizontale.Le membre de CY contient la quantité verticale.

  • sizeLine
    Les quantités horizontale et verticale au défilement dans chaque direction en réponse à un clic de souris dans une flèche de défilement.Le membre de cx contient la quantité horizontale.Le membre de CY contient la quantité verticale.

Notes

Appelez la dans votre substitution de la fonction membre d' OnUpdate pour ajuster les caractéristiques de défilement lorsque, par exemple, le document est initialement rendu ou lorsqu'il modifie la taille.

Vous obtiendrez généralement des informations de taille du document associé à la vue en appelant une fonction membre de document, un GetMyDocSizepeut-être appelé, que vous fournissez votre classe dérivée de document.Le code suivant illustre cette méthode :

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

Sinon, vous pouvez parfois définir une taille fixe, comme dans le code suivant :

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

Vous devez définir le mode de mappage aux modes de mappage l'un des fenêtres sauf MM_ISOTROPIC ou MM_ANISOTROPIC.Si vous souhaitez utiliser un mode de mappage sans contrainte, appelez la fonction membre d' SetScaleToFitSize au lieu d' SetScrollSizes.

Exemple

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

Configuration requise

Header: afxwin.h

Voir aussi

Référence

Classe de CScrollView

Graphique de la hiérarchie

CScrollView::SetScaleToFitSize

CScrollView::GetDeviceScrollSizes

CScrollView::GetTotalSize