CMDIChildWnd

La clase CMDIChildWnd proporciona la funcionalidad de Windows documentos MDI (interfaz) niño ventanas múltiples, junto con los miembros para la gestión de la ventana.

Una ventana secundaria MDI se ve como una ventana de marco típico, excepto que la ventana secundaria MDI aparece dentro de una ventana de marco MDI en lugar de en el escritorio. Una ventana secundaria MDI no tiene una barra de menús de su propio, pero en su lugar comparte el menú de la ventana de marco MDI. El marco cambia automáticamente el menú de marco MDI para representar el activa ventana MDI secundaria.

Para crear una útil ventana MDI secundaria para su aplicación, derive una clase de CMDIChildWnd. Agregar variables miembro a la clase derivada para almacenar datos específicos de su aplicación. Mapa de implementar funciones de miembro de controlador de mensajes y un mensaje en la clase derivada para especificar qué sucede cuando los mensajes se dirigen a la ventana.

Hay tres formas de construir una ventana secundaria MDI:

Antes de llamar a crear o LoadFrame, debe crear el objeto de ventana de marco del montón utilizando el operador new C++. Antes de llamar a crear también puede registrar una clase de ventana con la función global de AfxRegisterWndClass para establecer los estilos de icono y clase del marco.

Utilizar la función miembro Create para pasar parámetros de creación del marco como argumentos de inmediatos.

LoadFrame requiere menos argumentos que creary en su lugar recupera la mayoría de sus valores por defecto de recursos, incluyendo el marco leyenda, icono tabla de aceleradores y menú. Para ser accesible a través de LoadFrame, todos estos recursos deben tener el mismo ID de recurso (por ejemplo, IDR_MAINFRAME).

Cuando un objeto CMDIChildWnd contiene vistas y documentos, se crean indirectamente por el marco en lugar de directamente por el programador. El objeto de CDocTemplate organiza la creación del marco, la creación de las vistas que contienen y la conexión de las vistas del documento correspondiente. Los parámetros del constructor CDocTemplate especifican la CRuntimeClass de las tres clases involucradas (documento, marco y vista). Se utiliza un objeto CRuntimeClass por el marco para crear dinámicamente nuevos marcos cuando especificado por el usuario (por ejemplo, mediante el comando nuevo archivo o MDI ventana nueva).

Una clase de ventana de marco derivada de CMDIChildWnd debe declararse con DECLARE_DYNCREATE para que el mecanismo RUNTIME_CLASS anterior funcione correctamente.

La clase CMDIChildWnd hereda gran parte de su aplicación por defecto de CFrameWnd. Para obtener una lista detallada de estas características, consulte la descripción de la clase de CFrameWnd . La clase CMDIChildWnd tiene las siguientes características adicionales:

No utilice el operador delete de C++ para destruir una ventana de marco. Utilice CWnd::DestroyWindow en su lugar. La aplicación de CFrameWnd de PostNcDestroy eliminará el objeto C++ cuando se destruye la ventana. Cuando el usuario cierra la ventana de marco, el controlador predeterminado de OnClose llamará DestroyWindow.

Para obtener más información sobre CMDIChildWnd, consulte Marco ventana temas en la Guía del programador de Visual C++.

# include lt;afxwin.h>

Miembros de la clase |nbsp; Clase base | Diagrama de jerarquía

Muestrasnbsp; MFC Sample MDI | Ejemplo de MFC MDIBIND | Ejemplo de MFC MDIDOCVW | Ejemplo de MFC SNAPVW

Vea tambié&nnbsp;CWnd, CMDIFrameWnd

Index