CMDIChildWnd Class
proporciona la funcionalidad de una ventana secundaria de la interfaz de múltiples documentos (MDI) de Windows, junto con los miembros para administrar la ventana.
class CMDIChildWnd : public CFrameWnd
Members
Constructores públicos
Name |
Descripción |
---|---|
Crea un objeto CMDIChildWnd. |
Métodos públicos
Name |
Descripción |
---|---|
Crea una ventana secundaria de MDI Windows asociado al objeto de CMDIChildWnd . |
|
Devuelve el cuadro primario MDI de la ventana de cliente de MDI. |
|
Provoca esta ventana MDI secundaria. |
|
Destruye esta ventana MDI secundaria. |
|
Maximiza esta ventana MDI secundaria. |
|
Restablece esta ventana MDI secundaria de tamaño maximizado o minimizado. |
|
Establece los identificadores de recursos de menús y de aceleradores. |
Comentarios
Una ventana MDI secundaria considera una ventana típica de marco, salvo que la ventana MDI secundaria aparece en una ventana de marco MDI en lugar de en el escritorio. Una ventana MDI secundaria no tiene una barra de menús propio, sino comparte el menú de la ventana de marco MDI. El marco cambia automáticamente el menú de marco MDI para representar actualmente la ventana MDI secundaria activa.
Para crear una ventana secundaria útil MDI para la aplicación, derive una clase de CMDIChildWnd. Agregue las variables miembro a la clase derivada a concreto almacenado de datos a la aplicación. El miembro del controlador de mensajes de implemente funciones y un mapa de mensajes en la clase derivada para especificar lo que ocurre cuando los mensajes se dirigen a la ventana.
Hay tres maneras de crear una ventana MDI secundaria:
Construyala directamente mediante Crear.
Construyala directamente mediante LoadFrame.
construyala indirectamente a través de una plantilla de documento.
Antes de llamar a Crear o LoadFrame, debe crear el objeto de la ventana de marco en la pila mediante el operador de C++ nuevo . Antes de llamar Crear también puede registrar una clase de ventana con la función global de Clase para establecer los estilos de icono y de clase del cuadro.
Utilice la función miembro de Crear para pasar los parámetros de creación de cuadro como argumentos inmediatos.
LoadFrame requiere menos argumentos que Creary, en su lugar recupera la mayoría de los valores predeterminados de recursos, incluida la leyenda del cuadro, el icono, la tabla de aceleradores, y el menú. para ser accesibles por LoadFrame, todos estos recursos deben tener el mismo Id. de recurso (por ejemplo, IDR_MAINFRAME).
Cuando un objeto de CMDIChildWnd contiene vistas y documentos, se crean indirectamente el marco en lugar directamente por el programador. El objeto de CDocTemplate orquestra la creación del marco, la creación de vistas que contienen, y la conexión de las vistas al documento adecuado. Los parámetros de constructor de CDocTemplate especifican CRuntimeClass de las tres clases implicadas (documento, cuadro, y vista). Un objeto de CRuntimeClass se utiliza el marco para crear dinámicamente los nuevos cuadros cuando es especificado por el usuario (por ejemplo, utilizando el comando de Archivo Nuevo o el comando New de la ventana MDI).
Una clase de la ventana de marco derivada de CMDIChildWnd se debe declarar con DECLARE_DYNCREATE para que el mecanismo anterior de RUNTIME_CLASS funcione correctamente.
La clase de CMDIChildWnd hereda gran parte de su implementación predeterminada de CFrameWnd. Para obtener una lista detallada de estas características hace referencia a la clase de CFrameWnd . la clase de CMDIChildWnd tiene las características adicionales siguientes:
Junto con la clase de CMultiDocTemplate , varios objetos de CMDIChildWnd de la misma plantilla de documento comparten el mismo menú, guardar los recursos del sistema de Windows.
- El menú de la ventana secundaria MDI activo reemplaza completamente el menú de la ventana de marco MDI, y la leyenda de actualmente la ventana MDI secundaria activa se agrega actualmente al leyenda MDI de la ventana de marco. Para otros ejemplos de funciones de ventana MDI secundaria que se implementan junto con una ventana de marco MDI, vea la clase de CMDIFrameWnd .
No utilice el operador de C++ cancelación destruir una ventana de marco. Utilice CWnd::DestroyWindow en su lugar. La implementació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, vea cuadro Windows.
Jerarquía de herencia
CMDIChildWnd
Requisitos
Encabezado: afxwin.h