Compartilhar via


CScrollView::SetScrollSizes

Chame SetScrollSizes quando a exibição está prestes a ser atualizada.

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

Parâmetros

  • nMapMode
    O modo de mapeamento para o dataset para esta exibição.Os valores possíveis são:

    Modo de mapeamento

    Unidade lógica

    o eixo y positivo estende…

    MM_TEXT

    1 pixel

    Para baixo

    MM_HIMETRIC

    Mm 0,01

    Para cima

    MM_TWIPS

    Em 1/1440

    Para cima

    MM_HIENGLISH

    Em 0,001

    Para cima

    MM_LOMETRIC

    Mm 0,1

    Para cima

    MM_LOENGLISH

    Em 0,01

    Para cima

    Todos esses modos são definidos pelo windows.Dois modos de mapeamento padrão, MM_ISOTROPIC e MM_ANISOTROPIC, não são usados para CScrollView.A biblioteca de classe fornece a função de membro de SetScaleToFitSize para dimensionar modo ao tamanho da janela.Três a coluna na tabela acima descreve a orientação coordenada.

  • sizeTotal
    O tamanho total do modo de rolagem.O membro de cx contém a extensão horizontal.O membro de cy contém a extensão vertical.Tamanhos estão em unidades lógicas.cx e cy deve ser maior ou igual a 0.

  • sizePage
    As quantidades horizontais e verticais rolar em cada direção em resposta a um clique do mouse em um eixo de barra de rolagem.O membro de cx contém a quantidade horizontal.O membro de cy contém a quantidade vertical.

  • sizeLine
    As quantidades horizontais e verticais rolar em cada direção em resposta a um clique do mouse em uma seta de rolagem.O membro de cx contém a quantidade horizontal.O membro de cy contém a quantidade vertical.

Comentários

Chama-o em sua sobrescrita da função de membro de OnUpdate para ajustar características de rolagem, por exemplo, quando o documento é exibida inicialmente ou quando altera o tamanho.

Você normalmente irá capturar informações de tamanho do documento associado de exibição chamando uma função de membro de documento, talvez GetMyDocSizechamado, que você forneça com sua classe derivado do documento.O código a seguir mostra essa abordagem:

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

Como alternativa, você pode as vezes precisa definir um tamanho fixo, como no código a seguir:

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

Você deve definir o modo de mapeamento a algumas das janelas que mapeia modos exceto MM_ISOTROPIC ou MM_ANISOTROPIC.Se você desejar usar um modo mapeando unconstrained, chame a função de membro de SetScaleToFitSize em vez de SetScrollSizes.

Exemplo

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

Requisitos

Cabeçalho: afxwin.h

Consulte também

Referência

Classe de CScrollView

Gráfico de hierarquia

CScrollView::SetScaleToFitSize

CScrollView::GetDeviceScrollSizes

CScrollView::GetTotalSize