
La clase CView proporciona la funcionalidad básica para las clases de vista definida por el usuario. Una vista se adjunta a un documento y actúa como intermediario entre el usuario y el documento: la vista representa una imagen del documento en la pantalla o la impresora e interpreta la entrada del usuario como operaciones sobre el documento.
Una vista es un niño de una ventana de marco. Más de una vista puede compartir una ventana de marco, como en el caso de una ventana divisora. La relación entre una clase de vista, una clase de ventana de marco y una clase de documento se establece mediante un objeto CDocTemplate . Cuando el usuario abre una nueva ventana o divide una existente, el marco construye una nueva vista y adjunta al documento.
Una vista puede adjuntarse a un único documento, pero un documento puede tener varias vistas conectadas a él a la vez — por ejemplo, si el documento se muestra en una ventana divisora o en múltiples ventanas secundarias en una aplicación MDI (interfaz) de documentos varios. Su aplicación puede soportar diferentes tipos de vistas para un tipo de documento determinado; por ejemplo, un procesador de textos puede proporcionar una vista completa del texto de un documento y una vista de esquema que muestra sólo los encabezados de sección. Estos diferentes tipos de vistas pueden colocarse en ventanas de marco separado o en paneles separados de una ventana de marco único si utiliza una ventana divisora.
Una vista puede ser responsable de manejar diferentes tipos de entrada, tales como teclado, ratón o entrada mediante arrastrar y soltar, así como comandos de menús, barras de herramientas o barras de desplazamiento. Una vista recibe comandos remitidos por su ventana de marco. Si la vista no manejar un comando determinado, envía el comando para su documento asociado. Como todos los destinos de comando, una vista gestiona los mensajes a través de un mapa de mensajes.
La vista es responsable para mostrar y modificar los datos del documento, pero no para almacenarla. El documento proporciona la vista con la información necesaria acerca de sus datos. Puede permitir el acceso de vista que miembros de datos del documento directamente, o bien puede proporcionar funciones de miembro de la clase de documento para la clase de vista llamar.
Cuando cambian los datos de un documento, la vista de los cambios normalmente llama a la función de CDocument::UpdateAllViews para el documento, que notifica a todas las vistas llamando a la función de miembro OnUpdate para cada uno. La implementación predeterminada de OnUpdate invalida toda área cliente la vista. Se puede reemplazar para invalidar sólo esas regiones de la zona de cliente que se asignan a las partes modificadas del documento.
Para utilizar CView, derivar una clase de ella y aplicar la función de miembro OnDraw para realizar la presentación en pantalla. También puede utilizar OnDraw para realizar la vista previa de impresión e imprimir. El marco controla el bucle de impresión para imprimir y vista previa de documento.
Una vista gestiona los mensajes de la barra de desplazamiento con las funciones de miembro de CWnd::OnHScroll y CWnd::OnVScroll . Se pueden implementar en estas funciones de tratamiento de mensajes de barra de desplazamiento, o puede utilizar la clase CView derivados CScrollView para controlar el desplazamiento para usted.
Además CScrollView, la biblioteca Microsoft Foundation Class proporciona nueve otras clases derivadas de CView:
La clase CView también tiene una clase de implementación derivada denominada CPreviewView, que es utilizado por el marco para realizar la vista previa de impresión. Esta clase proporciona compatibilidad para las características únicas de la ventana de vista previa de impresión, como una barra de herramientas, vista previa de página única o doble, y zoom, es, ampliar la imagen. &No necesita llamar o reemplazar cualquiera de las funciones de miembro del CPreviewViewa menos que desee implementar su propia interfaz de impresión previewnbsp; (por ejemplo, si desea apoyar la edición en modo de vista previa de impresión). Para obtener más información sobre el uso de CView, consulte Temas de arquitectura documento/vista y de impresión en la Guía del programador de Visual C++. Además, ver 30 de nota técnica para obtener más información sobre la personalización de la vista previa de impresión.
# include lt;afxwin.h>
Miembros de la clase | Clase base | Diagrama de jerarquía
Muestrasnbsp; Ejemplo de MFC Hola | Ejemplo de MFC MDIBIND | Ejemplo de MFC MDIDOCVW
Vea tambié&nnbsp;CWnd, CFrameWnd, CSplitterWnd, CDC, CDocTemplate, CDocument