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 CScrollView | Membros de classe | Gráfico de hierarquia
Co&nsulte tambémnbsp;CScrollView::SetScaleToFitSize, CScrollView::GetDeviceScrollSizes, CScrollView::GetTotalSize