Compartir a través de


Documentos, vistas y la plataforma

En el centro del marco de MFC están los conceptos de documento y vista. Un documento es un objeto de datos con el que el usuario interactúa en una sesión de edición. Se crea con el comando Nuevo o Abrir en el menú Archivo y se guarda normalmente en un archivo. (Los documentos MFC estándar, que se derivan de la clase CDocument, son diferentes de los documentos activos y los documentos compuestos OLE). Una vista es un objeto de ventana a través del cual el usuario interactúa con un documento.

Los objetos clave de una aplicación en ejecución son:

  • Objetos de subprocesos

    Si la aplicación crea subprocesos independientes de ejecución (por ejemplo, para realizar cálculos en segundo plano), se usarán las clases derivadas de CWinThread. CWinApp se deriva de CWinThread y representa el subproceso principal de ejecución (o el proceso principal) de la aplicación. También puede usar MFC en subprocesos secundarios.

  • El objeto de aplicación

    La clase de aplicación (derivada de CWinApp) controla todos los objetos anteriores y especifica el comportamiento de la aplicación, como la inicialización y la limpieza. La aplicación y el objeto de aplicación único crea y administra las plantillas de documento para cualquier tipo de documento que admita la aplicación.

  • Plantilla de documento o plantillas

    Una plantilla de documento organiza la creación de documentos, vistas y ventanas de marco. Una clase de plantilla de documento determinada, derivada de la clase CDocTemplate, crea y administra todos los documentos abiertos de un tipo. Las aplicaciones que admiten más de un tipo de documento tienen varias plantillas de documentos. Use la clase CSingleDocTemplate para las aplicaciones SDI o use la clase CMultiDocTemplate para las aplicaciones MDI.

  • Ventanas de marco

    Las vistas se muestran dentro de las "ventanas de marco del documento". En una aplicación SDI, la ventana de marco del documento también es la "ventana de marco principal" de la aplicación. En una aplicación MDI, las ventanas de documento son ventanas de elementos secundarios que se muestran dentro de una ventana de marco principal. La clase principal derivada de ventana de marco especifica los estilos y otras características de las ventanas de marco que contienen las vistas. Si necesita personalizar las ventanas de marco, derive de CFrameWnd para personalizar la ventana de marco de documento para las aplicaciones SDI. Derive de CMDIFrameWnd para personalizar la ventana de marco principal para las aplicaciones MDI. También derive una clase de CMDIChildWnd para personalizar cada tipo distinto de ventanas de marco de documento MDI que admite la aplicación.

  • Documento o documentos.

    La clase de documento (derivada de CDocument) especifica los datos de la aplicación.

    Si quiere la funcionalidad OLE en la aplicación, derive la clase de documento de COleDocument o una de sus clases derivadas, según del tipo de funcionalidad que necesite.

  • Vista o vistas.

    La clase de vista (derivada de CView) es la "ventana de los datos" del usuario. La clase vista controla cómo el usuario ve los datos del documento e interactúa con él. En algunos casos, puede que desee que un documento tenga varias vistas de los datos.

    Si necesita desplazarse, derive de CScrollView. Si la vista tiene una interfaz de usuario que se dispone en un recurso de plantilla de diálogo, derive de CFormView. Para datos de texto simples, use o derive de CEditView. Para una aplicación de acceso a datos basada en formularios, como un programa de entrada de datos, derive de CRecordView (para ODBC). También están disponibles las clases CTreeView, CListView y CRichEditView.

En una aplicación en ejecución, estos objetos responden de forma cooperativa a las acciones del usuario, enlazadas por comandos y otros mensajes. Un único objeto de aplicación administra una o varias plantillas de documento. Cada plantilla de documento crea y administra uno o varios documentos (en función de si la aplicación es SDI o MDI). El usuario ve y manipula un documento a través de una vista contenida dentro de una ventana de marco. En la ilustración siguiente se muestran las relaciones entre estos objetos para una aplicación SDI.

Diagram of the objects in a running SDI application.
Objetos de una aplicación SDI en ejecución

En el resto de esta familia de artículos se explica cómo las herramientas de marco, el Asistente para aplicaciones MFC y los editores de recursos, crean estos objetos, cómo funcionan juntos y cómo se usan en la programación. Los documentos, las vistas y las ventanas de marco se describen con más detalle en Objetos de ventana y Arquitectura de documento/vista.

Consulte también

Uso de las clases para escribir aplicaciones para Windows