Classe CScrollView

A CView com recursos de rolagem.

class CScrollView : public CView

Comentários

Você pode manipular padrão rolagem por você em qualquer classe derivada de CView substituindo o mapeamento de mensagem OnHScroll and OnVScroll funções de membro.But CScrollView Adiciona os seguintes recursos para seu CView recursos:

  • Ele gerencia os modos de mapeamento e tamanhos de janelas e porta de visualização.

  • Rola automaticamente em resposta às mensagens da BAR de rolar.

  • Rola automaticamente em resposta a mensagens de teclado, um mouse não rolagem ou a roda do IntelliMouse para.

Para rolar automaticamente em resposta às mensagens do teclado, adicionar uma mensagem WM_KEYDOWN e testar VK_DOWN, VK_PREV e chamar SetScrollPos.

Você pode manipular a roda do mouse rolagem você mesmo, substituindo a mensagem mapeada OnMouseWheel and OnRegisteredMouseWheel funções de membro.sistema autônomo são para CScrollView, o comportamento recomendado para suportam a essas funções de membro WM_MOUSEWHEEL, a mensagem de rotação da roda.

Para tirar proveito de rolagem automático, derivar a classe de modo de exibição de CScrollView em vez de partir CView. Quando o modo de exibição é criado pela primeira vez, se você deseja calcular o dimensionar da visualização rolável com base no dimensionar do documento, telefonar o SetScrollSizes função de membro de sua substituir de um CView::OnInitialUpdate or CView::OnUpdate.(Você deve escrever seu próprio código para consultar o dimensionar do documento.Para obter um exemplo, consulte o Exemplo do Rabisco.)

A telefonar para o SetScrollSizes função de membro define o modo de mapeamento do modo de exibição, as dimensões total da exibição da rolagem e os valores para rolar horizontalmente e verticalmente. Todos os portes estão em unidades lógicas.O dimensionar lógico do modo de exibição é normalmente calculado dos dados armazenados no documento, mas em alguns casos você poderá especificar um dimensionar fixo.Para obter exemplos de ambas as abordagens, consulte CScrollView::SetScrollSizes.

Você especifica quantidades de para rolar horizontalmente e verticalmente em unidades lógicas.Por padrão, se o usuário clicar em um BAR de rolar eixo fora da caixa de rolar, CScrollViewRola uma "página". Se o usuário clicar em uma seta de rolar em ambas as extremidades de uma BAR de rolar, CScrollViewRola uma "linha". Por padrão, uma página é 1/10 do dimensionar total do modo de exibição, uma linha é 1/10 do dimensionar da página.Substituir esses valores padrão, passando tamanhos personalizados no SetScrollSizes função de membro. Por exemplo, você pode conjunto o dimensionar horizontal para alguma fração da largura de dimensionar total e o dimensionar vertical para a altura de uma linha na fonte corrente.

Em vez de rolagem, CScrollView automaticamente pode dimensionar o modo de exibição para o tamanho da janela corrente. Nesse modo, o modo de exibição não tem nenhuma barra de rolar e o modo de exibição lógico é ampliado ou reduzido para exatamente se ajuste à área de cliente da janela.Para usar essa capacidade de dimensionar ajuste, telefonar CScrollView::SetScaleToFitSize.(telefonar qualquer um dos SetScaleToFitSize ou SetScrollSizesmas não ambos.)

Antes do OnDraw função de membro de sua classe derivada de modo de exibição é chamada, CScrollView Ajusta automaticamente o visor origem para o CPaintDC objeto de contexto de dispositivo que ele passa para OnDraw.

Para ajustar a origem da porta de visualização da janela de rolagem, CScrollView substituições CView::OnPrepareDC.Esse ajuste é automático para o CPaintDC contexto de dispositivo que CScrollView passa para OnDraw, mas você deve telefonar CScrollView::OnPrepareDC -se para outros contextos de dispositivo de usar, sistema autônomo um CClientDC. Você pode substituir CScrollView::OnPrepareDC para conjunto a caneta, cor do plano de fundo e outros atributos de desenho, mas chamar a classe base para fazer o dimensionamento.

sistema autônomo barras de rolar podem exibido em três locais em relação a um modo de exibição, conforme mostrado nos seguintes casos:

  • Standard window-style scroll bars can be set for the view using the WS_HSCROLL and WS_VSCROLL Windows Styles.

  • Controles de BAR de rolar também podem ser adicionados ao quadro que contém o modo de exibição, caso em que a estrutura encaminha WM_HSCROLL e WM_VSCROLL mensagens da janela de quadro para a exibição ativo no momento.

  • A estrutura também encaminha rolar as mensagens de um CSplitterWnd controle de separador para o painel de divisor ativo no momento (um modo de exibição). Quando colocados em um CSplitterWnd com barras de rolar compartilhado, um CScrollView objeto irá usar aquelas compartilhadas em vez de criar seu próprio.

Para obter mais informações sobre como usar CScrollView, consulte Arquitetura de documento/exibição and Derivado exibir classes disponível no MFC.

Requisitos

Cabeçalho: afxwin.h

Consulte também

Tarefas

Exemplo DIBLOOK: Ilustra o uso de DIBs e Palettes de cor

Referência

Classe CView

Gráfico de hierarquia

Classe CView

Classe CSplitterWnd

Outros recursos

CScrollView membros