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
CScrollView::SetScaleToFitSize