CScrollView Class
CView con capacidades de desplazamiento.
class CScrollView : public CView
Miembros
Constructores protegidos
Name |
Descripción |
---|---|
Crea un objeto CScrollView. |
Métodos públicos
Name |
Descripción |
---|---|
Indica si la vista de desplazamiento tiene barras de desplazamiento horizontal y vertical. |
|
Rellena el área de una vista fuera del área que se mueve. |
|
Obtiene la posición de desplazamiento actual en unidades. |
|
Obtiene el modo actual de asignación, el tamaño total, y la línea y tamaños de página de vista desplazable. Los tamaños están en unidades. |
|
Obtiene la posición de desplazamiento actual en unidades lógicas. |
|
Obtiene el tamaño total de la vista de desplazamiento en unidades lógicas. |
|
Hace que el tamaño de la vista para dictar el tamaño del marco. |
|
Desplaza la vista en un momento determinado, especificado en unidades lógicas. |
|
Coloca la vista de desplazamiento en modo de escala-a- ajuste. |
|
Establece el modo de asignación de la vista de desplazamiento, tamaño total, y el desplazamiento horizontal y vertical promueve. |
Comentarios
Puede controlar desplazamiento rápido manualmente en cualquier clase derivada de CView reemplazando OnHScroll mensaje- asignado y el miembro de OnVScroll funciona. Pero CScrollView agrega las siguientes características para sus capacidades de CView :
Administra los tamaños de la ventana y de la ventanilla y los modos de asignación.
Desplaza automáticamente en respuesta a los mensajes de la barra de desplazamiento.
Desplaza automáticamente en respuesta a los mensajes del teclado, de un mouse de no de desplazamiento, o la rueda de IntelliMouse.
Para desplazarse automáticamente en respuesta a los mensajes del teclado, agregar un mensaje WM_KEYDOWN, y pruebas para VK_DOWN, VK_PREV y la llamada SetScrollPos.
Puede controlar el desplazamiento de la rueda del mouse personalmente reemplazando OnMouseWheel mensaje- asignado y el miembro de OnRegisteredMouseWheel funciona. Mientras se para CScrollView, estas funciones miembro admiten el comportamiento recomendado para WM_MOUSEWHEEL, el mensaje de rotación de la rueda.
Para aprovecharse de desplazamiento automático, derive la clase de vista de CScrollView en lugar de CView. Cuando la vista se crea por primera vez, si desea calcular el tamaño de la vista desplazable basada en el tamaño del documento, llame a la función miembro de SetScrollSizes de la invalidación de CView::OnInitialUpdate o de CView::OnUpdate. (Debe escribir su propio código para ver el tamaño del documento. Para obtener un ejemplo, vea Scribble el ejemplo.)
La llamada a la función miembro de 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. El tamaño lógico de la vista se calcula general de los datos almacenados en el documento, pero quizá desee en algunos casos para especificar un tamaño fijo. Para obtener ejemplos de ambos enfoques, vea CScrollView::SetScrollSizes.
Especifica los importes para desplazarse horizontal y verticalmente en unidades lógicas. De forma predeterminada, si el usuario hace clic en un eje de la barra de desplazamiento fuera del cuadro de desplazamiento, CScrollView desplaza una “página”. Si el usuario hace clic en una flecha de desplazamiento en final de una barra de desplazamiento, CScrollView desplaza una “línea”. De forma predeterminada, una página es 1/10 del tamaño total de la vista; una línea es 1/10 de tamaño de página. Invalide estos valores predeterminados pasando los tamaños personalizados en la función miembro de SetScrollSizes . Por ejemplo, puede establecer el tamaño horizontal a alguna fracción del ancho del tamaño total y el tamaño vertical al alto de una línea de la fuente actual.
En lugar de desplazamiento, CScrollView puede ajustar automáticamente la escala de la vista al tamaño de la ventana actual. En este modo, la vista no tiene ninguna barra de desplazamiento y la vista lógica se ajusta o se reduce para ajustarse exactamente el área cliente de la ventana. Para utilizar esta capacidad de escala-a- ajuste, llame a CScrollView::SetScaleToFitSize. (Llame a SetScaleToFitSize o SetScrollSizes, pero no ambos).
Antes de que la función miembro de OnDraw de su clase derivada de la vista se denomina, CScrollView incluye automáticamente al origen del área de visualización para el objeto de dispositivo- contexto de CPaintDC que pasa a OnDraw.
Para ajustar el origen de la ventanilla para la ventana de desplazamiento, CScrollView reemplaza CView::OnPrepareDC. Este ajuste es automático para el contexto del dispositivo de CPaintDC que CScrollView pasa a OnDraw, pero debe llamar a CScrollView::OnPrepareDC a para cualquier otro contexto de dispositivo que se utilice, por ejemplo CClientDC. Puede reemplazar CScrollView::OnPrepareDC para establecer el lápiz, el color de fondo, y otros atributos del gráfico, pero llama a la clase base para realizar el ajuste de escala.
Las barras de desplazamiento pueden aparecer en tres lugares en relación con una vista, como se muestra en los siguientes casos:
Las barras de desplazamiento estándar de estilo de ventana se pueden establecer para la vista mediante WS_HSCROLL y WS_VSCROLLestilos de Windows.
Los controles de barra de desplazamiento también se pueden agregar al cuadro que contiene la vista, en cuyo caso el marco reenvía WM_HSCROLL y los mensajes de WM_VSCROLL de la ventana de marco a la vista activa.
El marco de trabajo también reenvía mensajes de desplazamiento de un control splitter de CSplitterWnd actualmente el panel activo splitter (una vista). Cuando se coloca en CSplitterWnd con las barras de desplazamiento compartidas, un objeto de CScrollView utilizará compartidos en lugar de crear su propio.
Para obtener más información sobre cómo utilizar CScrollView, vea Arquitectura documento/vista y La vista derivada ordena disponibles en MFC.
Jerarquía de herencia
CScrollView
Requisitos
Encabezado: afxwin.h