CScrollView

La clase CScrollView es un CView con capacidades de desplazamiento.

Puede manejar estándar usted mismo desplazamiento en cualquier clase derivada de CView reemplazando las funciones de miembro asignado por el mensaje OnHScroll y OnVScroll . Pero CScrollView agrega las siguientes funciones a sus capacidades de CView:

Puede manejar la rueda del ratón usted mismo desplazamiento por reemplazar los mensaje asignado OnMouseWheel y OnRegisteredMouseWheel funciones miembro. Como lo son para CScrollView, estas funciones miembro apoyan el comportamiento recomendado para WM_MOUSEWHEEL, el mensaje de rotación de la rueda.

Para aprovechar de desplazamiento automático, derivar la clase de vista de CScrollView en lugar de CView. Cuando primero se crea la vista, si desea calcular el tamaño de la vista desplazable en función del tamaño del documento, llame a la función de miembro SetScrollSizes de la anulación de CView::OnInitialUpdate o CView::OnUpdate. (Se debe escribir su propio código para consultar el tamaño del documento. Para obtener un ejemplo, vea Mejorar vistas en Tutoriales de Visual C++.)

La llamada a la función miembro SetScrollSizes establece el modo de asignación de la vista, las dimensiones totales de la vista de desplazamiento y los importes para desplazarse horizontal y verticalmente. Todos los tamaños están en unidades lógicas. Normalmente se calcula el tamaño lógico de la vista de datos almacenados en el documento, pero en algunos casos puede que desee especificar un tamaño fijo. Para ver ejemplos de ambos enfoques, consulte CScrollView::SetScrollSizes.

Especificar los montos para desplazarse horizontal y verticalmente en unidades lógicas. De forma predeterminada, si el usuario hace clic en un eje de barra de desplazamiento fuera del cuadro de desplazamiento, CScrollView desplaza una "página". Si el usuario hace clic en una flecha de desplazamiento en cada extremo de una barra de desplazamiento, CScrollView se desplaza una "línea". De forma predeterminada, una página es 1/10 del tamaño total de la vista; una línea es de 1/10 del tamaño de la página. Reemplazar estos valores predeterminados pasando tamaños personalizados en la función de miembro SetScrollSizes . Por ejemplo, puede establecer el tamaño horizontal a una fracción del ancho del tamaño total y el tamaño vertical a la altura de una línea para la fuente actual.

En lugar de desplazarse, CScrollView puede escalar automáticamente la vista para el tamaño de la ventana actual. En este modo, la vista no tiene barras de desplazamiento y la vista lógica se estira o reducida para ajustarse exactamente a área de cliente de la ventana. Para utilizar esta capacidad de adaptación a escala, llamada CScrollView::SetScaleToFitSize. (Llamada SetScaleToFitSize o SetScrollSizes, pero no ambos).

Antes de la OnDraw se denomina función de miembro de la clase de vista derivadas, CScrollView ajusta automáticamente el origen de la ventanilla para el objeto de contexto de dispositivo CPaintDC que pasa aOnDraw.

Para ajustar el origen de la visión de la ventana desplazable, CScrollView reemplaza CView::OnPrepareDC. Este ajuste es automático para el contexto de dispositivo CPaintDC CScrollView pasa a OnDraw , pero debe llamar CScrollView::OnPrepareDC usted mismo para otros contextos de dispositivo utiliza, como un CClientDC. Se puede reemplazar CScrollView::OnPrepareDC para establecer la pluma, color de fondo y otros atributos del dibujo, sino llamar a la clase base para hacer escala.

Barras de desplazamiento pueden aparecer en tres lugares respecto a un punto de vista, como se muestra en los siguientes casos:

Para obtener más información sobre el uso de CScrollView, consulte Temas de arquitectura documento/vista y Clases derivadas de vista en la Guía del programador de Visual C++.

# include lt;afxwin.h>

Miembros de la claseClase base | Diagrama de jerarquía

Muestra  Ejemplo de MFC DIBLOOK

Vea tambié&nnbsp;CView, CSplitterWnd

Index