Crear nuevos documentos, ventanas y vistas

Las ilustraciones siguientes proporcionan información general sobre el proceso de creación de documentos, vistas y ventanas de marco. Otros artículos que se centran en los objetos participantes proporcionan más detalles.

Al finalizar este proceso, los objetos cooperantes existen y almacenan punteros entre sí. En las ilustraciones siguientes se muestra la secuencia en la que se crean los objetos. Puedes seguir la secuencia de una figura a otra.

Diagram showing the sequence for creating a document.
Secuencia de creación de un documento

Diagram showing the Frame Window creation sequence.
Secuencia de creación de una ventana de marco

Diagram showing the sequence for creating a view.
Secuencia de creación de una vista

Para obtener información sobre cómo el marco inicializa los nuevos objetos de documento, vista y ventana de marco, consulta las clases CDocument, CView, CFrameWnd, CMDIFrameWnd y CMDIChildWnd en la Referencia de la biblioteca MFC. Consulta también la Nota técnica 22, que explica con más detalle los procesos de creación e inicialización en su explicación de los comandos estándar del marco para los elementos Nuevo y Abrir en el menú Archivo.

Inicializar tus propias adiciones a estas clases

Las ilustraciones anteriores también sugieren los puntos en los que puedes invalidar las funciones miembro para inicializar los objetos de la aplicación. Una invalidación de OnInitialUpdate en la clase de vista es el mejor lugar para inicializar la vista. La llamada OnInitialUpdate se produce inmediatamente después de crear la ventana de marco y la vista dentro de la ventana del marco se adjunta a su documento. Por ejemplo, si la vista es una vista de desplazamiento (derivada de CScrollView en lugar de CView), debes establecer el tamaño de la vista en función del tamaño del documento en la invalidación de OnInitialUpdate. (Este proceso se describe en la descripción de la clase CScrollView). Puedes invalidar las funciones miembro CDocumentOnNewDocument y OnOpenDocument para proporcionar una inicialización específica de la aplicación del documento. Normalmente, debes invalidar ambos, ya que un documento se puede crear de dos maneras.

En la mayoría de los casos, la invalidación debe llamar a la versión de la clase base. Para obtener más información, consulta las funciones miembro con nombre de las clases CDocument, CView, CFrameWnd y CWinApp en la Referencia de biblioteca de MFC.

Consulte también

Plantillas de documento y el proceso de creación de documentos y vistas
Creación de plantillas de documentos
Creación de documentos y vistas
Relaciones entre objetos MFC