CFrameWnd

La clase CFrameWnd proporciona la funcionalidad de una interfaz de documento único de Windows (SDI) se superponen o ventana emergente marco, junto con los miembros para la gestión de la ventana.

Para crear una ventana de marco útil para su aplicación, derive una clase de CFrameWnd. 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 de marco:

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 CFrameWnd 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 el comando nueva ventana de múltiples documentos MDI (interfaz)).

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

Un CFrameWnd contiene implementaciones predeterminadas para realizar las siguientes funciones de una ventana principal en una aplicación típica de Windows:

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 CFrameWnd, 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

Vea tambié&nnbsp;CWnd, CMDIFrameWnd, CMDIChildWnd, CView, CDocTemplate, CRuntimeClass

Index