Compartir a través de


Archivos de encabezado y código fuente de controles o programas MFC

Al crear un proyecto MFC en Visual Studio se crearán los siguientes archivos, en función de las opciones que seleccione para el proyecto que va a crear.Por ejemplo, el proyecto sólo contendrá los archivos Nombre_proyectodlg.cpp y Nombre_proyectodlg.h si crea un proyecto o una clase basados en un cuadro de diálogo.

Todos estos archivos se encuentran en el directorio Nombre_proyecto y en la carpeta Header Files (archivos .h) o en la carpeta Source Files (archivos .cpp) en el Explorador de soluciones.

Nombre de archivo

Descripción

Nombre_proyecto.h

Archivo de inclusión principal del programa o el archivo DLL.Contiene todos los símbolos globales y directivas #include para los demás archivos de encabezado.Deriva la clase CPrjnameApp de CWinApp y declara una función miembro InitInstance.Para un control, la clase CPrjnameApp se deriva de COleControlModule.

Nombre_proyecto.cpp

Archivo de código fuente del programa principal.Crea un objeto de la clase CPrjnameApp, que se deriva de CWinApp, y reemplaza la función miembro InitInstance.

Para archivos ejecutables, CPrjnameApp::InitInstance lleva a cabo varias tareas.Registra plantillas de documento, que sirven como conexión entre documentos y vistas, crea una ventana de marco principal y crea un documento vacío (o abre un documento si se especifica uno como argumento de línea de comandos a la aplicación).

Para archivos DLL y controles ActiveX (antes denominados controles OLE), CProjNameApp::InitInstance registra el generador de objetos del control con OLE mediante una llamada a COleObjectFactory::RegisterAll y hace una llamada a AfxOLEInit.Además, se utiliza la función miembro CProjNameApp::ExitInstance para descargar el control de la memoria con una llamada a AfxOleTerm.

Este archivo también registra (y elimina del registro) el control en la base de datos de registro de Windows implementando las funciones DllRegisterServer y DllUnregisterServer.

Nombre_proyectoctrl.h, Nombre_proyectoctrl.cpp

Declara e implementa la clase CProjnameCtrl.CProjnameCtrl se deriva de COleControl y se definen las implementaciones esqueleto de algunas funciones miembro que inicializan, dibujan y serializan (cargan y guardan) el control.También se definen mensajes, eventos y mapas de envíos.

Nombre_proyectodlg.cpp, Nombre_proyectodlg.h

Se crea si elige una aplicación basada en un cuadro de diálogo.Los archivos derivan e implementan la clase de cuadro de diálogo, denominada CProjnameDlg, e incluyen funciones miembro esqueleto para inicializar un cuadro de diálogo y realizar intercambio de datos de cuadro de diálogo (DDX).También se coloca en estos archivos la clase del cuadro de diálogo Acerca de, en lugar de en Nombre_proyecto.cpp.

Dlgproxy.cpp, Dlgproxy.h

En un programa basado en un cuadro de diálogo, el archivo de implementación y de encabezado de la clase de proxy de automatización del proyecto para el cuadro de diálogo principal.Sólo se utiliza si eligió compatibilidad con la automatización.

Nombre_proyectodoc.cpp, Nombre_proyectodoc.h

Deriva e implementa la clase de documento, denominada CProjnameDoc, e incluye funciones miembro esqueleto para inicializar un documento, serializar (guardar y cargar) un documento e implementar diagnósticos de depuración.

Nombre_proyectoset.h/.cpp

Se crea si crea un programa compatible con bases de datos y que contenga la clase de conjunto de registros.

Nombre_proyectoview.cpp, Nombre_proyectoview.h

Deriva e implementa la clase de vista, denominada CProjnameView, que se utiliza para mostrar e imprimir los datos del documento.La clase CProjnameView se deriva de una de las siguientes clases MFC:

La clase de vista del proyecto contiene funciones miembro esqueleto para dibujar la vista e implementar diagnósticos de depuración.Si ha habilitado la compatibilidad con la impresión, se agregarán entradas de mapa de mensajes para mensajes de comandos de impresión, configuración de la impresión y vista previa de impresión.Estas entradas llaman a las funciones miembro correspondientes de la clase de vista base.

Nombre_proyectoPropPage.h, Nombre_proyectoPropPage.cpp

Declara e implementa la clase CProjnamePropPage.CProjnamePropPage se deriva de COlePropertyPage y se proporciona una función miembro esqueleto, DoDataExchange, para implementar el intercambio y la validación de datos.

IPframe.cpp, IPframe.h

Se crea si se selecciona la opción de Miniservidor o Servidor completo en la página Opciones de automatización (paso 3 de 6) del asistente para aplicaciones.Los archivos derivan e implementan la clase de ventana de marco en el contexto, denominada CInPlaceFrame, que se utiliza cuando un programa contenedor activa el servidor en el contexto.

Mainfrm.cpp, Mainfrm.h

Deriva la clase CMainFrame de CFrameWnd (para aplicaciones SDI) o de CMDIFrameWnd (para aplicaciones MDI).La clase CMainFrame controla la creación de botones de barra de herramientas y la barra de estado, si se seleccionan las opciones correspondientes en la página Opciones de la aplicación (paso 4 de 6) del asistente para aplicaciones.Para obtener información acerca del uso de CMainFrame, vea Clases de ventana de marco que crea el Asistente para aplicaciones.

Childfrm.cpp, Childfrm.h

Deriva la clase CChildFrame a partir de CMDIChildWnd.La clase CChildFrame se utiliza para ventanas de marco de documento MDI.Estos archivos se crearán siempre que seleccione la opción MDI.

Vea también

Referencia

Archivos de encabezado y código fuente de controles o programas ATL

Archivos creados para proyectos de CLR

Conceptos

Tipos de archivos creados para proyectos de Visual C++