Rolando e colocando exibições em escala
O MFC dá suporte a modos de exibição que rolam e exibições que são dimensionadas automaticamente para o tamanho da janela de quadro que as exibe. A classe CScrollView
dá suporte a ambos os tipos de exibições.
Para mais informações sobre rolagem e dimensionamento, confira a classe CScrollView na Referência do MFC. Para um exemplo de rolagem, confira o exemplo de Rabisco.
O que mais você deseja saber?
Como rolar uma exibição
Como escalar uma exibição
Como rolar uma exibição
Frequentemente, um documento é maior do que a exibição pode mostrar. Isso pode ocorrer porque os dados do documento aumentam ou o usuário reduz a janela que enquadra o modo de exibição. Nesses casos, a exibição deve dar suporte para 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 de barra de rolagem nessas funções, fazendo todo o trabalho 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 quiser que o modo de exibição se ajuste automaticamente ao tamanho da janela de quadro, você poderá usar CScrollView
para dimensionamento em vez de rolagem. 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.