CScrollView::SetScrollSizes

privatevoid SetScrollSizes ( int nMapMode, Tamanho sizeTotal, const SIZEamp; sizePage = sizeDefault, const Tamanho & sizeLine = sizeDefault );

Parâmetros

nMapMode

O modo de mapeamento para definir para este Exibir. Valores possíveis incluem:

Modo de mapeamento Unidade lógica Y-axis positivo estende...
MM_TEXT 1 pixel Descendente
MM_HIMETRIC 0.01 mm Para cima
MM_TWIPS 1/1440 em Para cima
MM_HIENGLISH 0,001 em Para cima
MM_LOMETRIC 0,1 mm Para cima
MM_LOENGLISH 0,01 em Para cima

Todos estes 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 classes fornece a função de membro SetScaleToFitSize para dimensionar a vista para tamanho de janela. Coluna três na tabela acima descreve a orientação coordenada.

sizeTotal

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

sizePage

Os valores de horizontais e verticais para rolar em cada direção em resposta a um mouse clique 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

Os valores de horizontais e verticais para rolar em cada direção em resposta a um mouse clique em uma seta de rolagem. O membro de cx contém a quantidade horizontal. O membro de cy contém a quantidade vertical.

Observações

Chame SetScrollSizes quando o modo de exibição está prestes a ser atualizado. Chamá-lo na sua Substituir da função de membro OnUpdate para ajustar características de rolagem quando, por exemplo, o documento é exibido inicialmente ou quando altera o tamanho.

Você geralmente obterá informações sobre o tamanho do documento associado do Exibir chamando uma função de membro do documento, talvez chamada GetMyDocSize , fornecido com sua classe derivada do documento. O código a seguir mostra essa abordagem:

SetScrollSizes (nMapMode, &GetDocument ()-gt;GetMyDocSize ())

Como alternativa, às vezes, convém definir um tamanho fixo, como no código a seguir:

SetScrollSizes (nMapMode, CSize (100, 100))

Você deve definir o modo de mapeamento para qualquer um dos modos de mapeamento de Windows exceto MM_ISOTROPIC ou MM_ANISOTROPIC. Se você quiser usar um modo de mapeamento irrestrita, chame a função de membro SetScaleToFitSize em vez de SetScrollSizes.

Exemplo

privatevoid CScaleView::OnUpdate)
{
 nbsp; // ...
   / / Implementar uma função de membro GetDocSize () em / / seu documento classe; Ele retorna um CSize.
   SetScrollSizes (MM_LOENGLISH, GetDocument ()-> GetDocSize ());
   ResizeParentToFit ();   / / Default bShrinkOnly argumento
   // ...
}

Visão geral de CScrollViewMembros de classe | Gráfico de hierarquia

Co&nsulte tambémnbsp;CScrollView::SetScaleToFitSize, CScrollView::GetDeviceScrollSizes, CScrollView::GetTotalSize

Index