CMDIFrameWnd Class
Proporciona la funcionalidad de una ventana de marco (MDI) de interfaz de múltiples documentos de Windows, junto con los miembros para administrar la ventana.
class CMDIFrameWnd : public CFrameWnd
Members
Constructores públicos
Name |
Descripción |
---|---|
Construye un CMDIFrameWnd. |
Métodos públicos
Name |
Descripción |
---|---|
crea una ventana de Windows MDICLIENT para este CMDIFrameWnd. Llama a la función miembro de OnCreate de CWnd. |
|
crea una nueva ventana secundaria. |
|
devuelve el menú emergente de la ventana. |
|
Genera otra ventana MDI secundaria. |
|
Organiza todas las ventanas secundarias en un formato en cascada. |
|
Recupera actualmente la ventana MDI secundaria activa, junto con una marca que indica si maximizan al elemento secundario. |
|
Organiza todas las ventanas secundarias minimizadas del documento. |
|
Maximiza una ventana MDI secundaria. |
|
Activa la ventana secundaria inmediatamente detrás actualmente la ventana secundaria activa y coloca actual de la ventana secundaria activa detrás de las demás ventanas secundarias. |
|
Activa la ventana secundaria anterior y coloca actualmente la ventana secundaria activa inmediatamente detrás de ella. |
|
Restaura una ventana MDI secundaria de tamaño maximizado o minimizado. |
|
Reemplaza el menú de una ventana de marco MDI, en el menú emergente de ventana, o ambos. |
|
Organiza todas las ventanas secundarias en un formato de mosaico. |
Comentarios
Para crear una ventana útil de marco MDI para la aplicación, derive una clase de CMDIFrameWnd. 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.
Puede crear una ventana de marco MDI llamando a funciones miembro de Crear o de LoadFrame de CFrameWnd.
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 obtener acceso a LoadFrame, todos estos recursos deben tener el mismo Id. de recurso (por ejemplo, IDR_MAINFRAME).
Aunque MDIFrameWnd es derivado de CFrameWnd, una clase de ventana de marco derivada de CMDIFrameWnd no necesita declararse con DECLARE_DYNCREATE.
La clase de CMDIFrameWnd hereda gran parte de su implementación predeterminada de CFrameWnd. Para obtener una lista detallada de estas características, vea la descripción de la clase de CFrameWnd . la clase de CMDIFrameWnd tiene las características adicionales siguientes:
Una ventana de marco MDI administra la ventana de MDICLIENT , colocándolo de nuevo junto con las barras de controles. La ventana de cliente MDI es el elemento primario directo de las ventanas secundarias de marco MDI. Los estilos de ventana de WS_HSCROLL y de WS_VSCROLL especificadas en CMDIFrameWnd se aplican a la ventana de cliente de MDI en lugar de la ventana de marco principal para que el usuario puede cambiar el área de cliente MDI (como en el administrador de programas de Windows, por ejemplo).
Una ventana de marco MDI posee un menú predeterminado que se utiliza como la barra de menús cuando no hay ninguna ventana secundaria de MDI activa. Cuando hay un elemento secundario de MDI activa, la barra de menús de MDI de la ventana de marco automáticamente se reemplaza por el menú de la ventana MDI secundaria.
Una ventana de marco MDI funciona junto con la ventana secundaria actual de MDI, si la hay. Por ejemplo, los mensajes de comando se delegan actualmente el formulario secundario MDI activo antes de la ventana de marco MDI.
Una ventana de marco MDI tiene controladores predeterminados para los comandos del menú Ventana estándar siguientes:
ID_WINDOW_TILE_VERT
ID_WINDOW_TILE_HORZ
ID_WINDOW_CASCADE
ID_WINDOW_ARRANGE
Una ventana de marco MDI también tiene una implementación de ID_WINDOW_NEW, que crea un nuevo cuadro y vista en el documento actual. Una aplicación puede reemplazar estas implementaciones predeterminadas de comando para personalizar el control de la ventana MDI.
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 CMDIFrameWnd, vea cuadro Windows.
Jerarquía de herencia
CMDIFrameWnd
Requisitos
Encabezado: afxwin.h