Compartilhar via


Rolando e colocando exibições em escala

O MFC dá suporte a exibições que rolam e exibições que são dimensionadas automaticamente para o tamanho da janela de quadros que as exibe. A classe CScrollView dá suporte a ambos os tipos de exibições.

Para obter mais informações sobre rolagem e dimensionamento, consulte a classe CScrollView na Referência do MFC. Para obter um exemplo de rolagem, consulte o exemplo do Scribble.

O que você quer saber mais sobre

Como rolar uma exibição

Frequentemente, o tamanho de um documento é maior do que o tamanho que seu modo de exibição pode exibir. Isso pode ocorrer porque os dados do documento aumentam ou o usuário reduz a janela que enquadra a exibição. Nesses casos, o modo de exibição deve dar suporte à rolagem.

Qualquer exibição pode manipular mensagens de barra de rolagem em suas funções de membro OnHScroll e OnVScroll. Você pode implementar o tratamento de mensagens da barra de rolagem nessas funções, executando tudo por conta própria, ou pode usar a classe CScrollView para manipular a rolagem para você.

CScrollView faz o seguinte:

  • Gerencia tamanhos de janela e de visor e modos de mapeamento

  • Rola automaticamente em resposta a mensagens de barra de rolagem

Você pode especificar quanto rolar para uma "página" (quando o usuário clica em um eixo de barra de rolagem) e uma "linha" (quando o usuário clica em uma seta de rolagem). Planeje esses valores para se adequar à natureza da sua exibição. Por exemplo, talvez você queira rolar em incrementos de 1 pixel para uma exibição gráfica, mas em incrementos com base na altura da linha em documentos de texto.

Como escalar uma exibição

Quando você deseja que a visualização se ajuste automaticamente ao tamanho da sua janela, você pode usar CScrollView para escalar ao invés de rolar. O modo de exibição lógico é estendido ou encolhido para se ajustar exatamente à área de cliente da janela. Um modo de exibição dimensionado não tem barras de rolagem.

Consulte também

Usando exibições