Crear ventanas de marco de documento
Creación de documentos y vistas muestra cómo el objeto CDocTemplate organiza la creación de la ventana de marco, el documento y la vista y la conexión de todos juntos. Tres argumentos CRuntimeClass del constructor CDocTemplate
especifican las clases de ventana de marco, documento y vista que la plantilla de documentos crea dinámicamente en respuesta a comandos de usuario, como el comando Nuevo del menú Archivo o el comando Nueva ventana de un menú Ventana MDI. La plantilla de documento almacena esta información para su uso posterior cuando crea una ventana de marco para una vista y un documento.
Para que el mecanismo de RUNTIME_CLASS funcione correctamente, las clases derivadas de ventana de marco deben declararse con la macro DECLARE_DYNCREATE. Esto se debe a que el marco de trabajo necesita crear ventanas de marco de documento mediante el mecanismo de construcción dinámico de la clase CObject
.
Cuando el usuario elige un comando que crea un documento, el marco llama a la plantilla de documento para crear el objeto de documento, su vista y la ventana de marco que mostrará la vista. Cuando crea la ventana de marco de documento, la plantilla de documento crea un objeto de la clase adecuada: una clase derivada de CFrameWnd para una aplicación SDI o de CMDIChildWnd para una aplicación MDI. A continuación, el marco llama a la función miembro LoadFrame del objeto frame-window para obtener información de la creación de recursos y para crear la ventana de Windows. El marco adjunta el identificador de ventana al objeto frame-window. A continuación, crea la vista como una ventana secundaria de la ventana del marco del documento.
Tenga cuidado al decidir cuándo inicializar el objeto derivado de CWnd
.
Qué más quieres saber
Derivar una clase de CObject (su mecanismo de creación dinámico)
Crear documentos y vistas (plantillas y creación de ventanas de marco)