Crear el proyecto (Tutorial de ATL, Parte 1)
Este tutorial le guía paso a paso por un proyecto de ATL sin atributos que crea un objeto ActiveX que muestra un polígono. El objeto incluye opciones para permitir al usuario cambiar el número de lados que componen el polígono y el código para actualizar la pantalla.
Nota:
En este tutorial, se crea el mismo código fuente que en el ejemplo de polígonos Polygon. Si desea evitar escribir el código fuente manualmente, puede descargarlo desde el resumen del ejemplo Polygon. A continuación, puede consultar el código fuente de Polygon mientras trabaja en el tutorial o usarlo para comprobar si hay errores en su propio proyecto. Para compilarlo, abra pch.h (stdafx.h en Visual Studio 2017 y versiones anteriores) y reemplace:
#ifndef WINVER
#define WINVER 0x0400
#endif
con
#ifndef WINVER
#define WINVER 0x0500
#define _WIN32_WINNT 0x0500
#endif
El compilador emitirá una advertencia indicando que regsvr32
no se cierra correctamente, pero aún así debe tener el archivo DLL del control compilado y disponible para su uso.
Creación del proyecto de ATL inicial mediante el Asistente para proyectos de ATL
En Visual Studio 2017 y versiones anteriores: Archivo>Nuevo>Proyecto. Abra la pestaña Visual C++ y seleccione MFC/ATL. Seleccione Proyecto ATL.
En Visual Studio 2019: elija Archivo>Nuevo>Proyecto, escriba "atl" en el cuadro de búsqueda y elija Proyecto ATL.
Escriba Polygon como nombre del proyecto.
La ubicación del código fuente normalmente tendrá el valor predeterminado \Usuarios\<NombreDeUsuario>\source\repos y se creará automáticamente una nueva carpeta.
En Visual Studio 2019, acepte los valores predeterminados y haga clic en Aceptar. En Visual Studio 2017, haga clic en Aceptar para abrir el Asistente para proyectos ATL. Haga clic en Configuración de la aplicación para ver las opciones disponibles. Dado que este proyecto crea un control y un control debe ser un servidor en proceso, deje el campo Tipo de aplicación como un archivo DLL. Haga clic en OK.
Visual Studio creará el proyecto mediante la generación de varios archivos. Puede ver estos archivos en el Explorador de soluciones expandiendo el objeto Polygon
. Los archivos se enumeran a continuación.
Archivo | Descripción |
---|---|
Polygon.cpp | Contiene la implementación de DllMain , DllCanUnloadNow , DllGetClassObject , DllRegisterServer y DllUnregisterServer . También contiene el mapa de objetos, que es una lista de los objetos de ATL del proyecto. Esto está inicialmente en blanco. |
Polygon.def | Este archivo de definición de módulo proporciona al enlazador información sobre las exportaciones requeridas por el archivo DLL. |
Polygon.idl | Archivo de lenguaje de definición de interfaz, que describe las interfaces específicas de los objetos. |
Polygon.rgs | Este script del Registro contiene información para registrar el archivo DLL del programa. |
Polygon.rc | El archivo de recursos, que inicialmente contiene la información de versión y una cadena que contiene el nombre del proyecto. |
Resource.h | El archivo de encabezado para el archivo de recursos. |
Polygonps.def | Este archivo de definición de módulo proporciona al enlazador información sobre las exportaciones requeridas por el proxy y el código auxiliar que admite las llamadas entre apartamentos. |
stdafx.cpp | Archivo que #include stdafx.h. |
stdafx.h | Archivo que tiene la instrucción #include y precompilará los archivos de encabezado de ATL. |
Archivo | Descripción |
---|---|
Polygon.cpp | Contiene la implementación de DllMain , DllCanUnloadNow , DllGetClassObject , DllRegisterServer y DllUnregisterServer . También contiene el mapa de objetos, que es una lista de los objetos de ATL del proyecto. Esto está inicialmente en blanco. |
Polygon.def | Este archivo de definición de módulo proporciona al enlazador información sobre las exportaciones requeridas por el archivo DLL. |
Polygon.idl | Archivo de lenguaje de definición de interfaz, que describe las interfaces específicas de los objetos. |
Polygon.rgs | Este script del Registro contiene información para registrar el archivo DLL del programa. |
Polygon.rc | El archivo de recursos, que inicialmente contiene la información de versión y una cadena que contiene el nombre del proyecto. |
Resource.h | El archivo de encabezado para el archivo de recursos. |
Polygonps.def | Este archivo de definición de módulo proporciona al enlazador información sobre las exportaciones requeridas por el proxy y el código auxiliar que admite las llamadas entre apartamentos. |
pch.cpp | Archivo que #include pch.h. |
pch.h | Archivo que tiene la instrucción #include y precompilará los archivos de encabezado de ATL. |
En el Explorador de soluciones, haga clic con el botón derecho en el proyecto
Polygon
.En el menú contextual, haga clic en Propiedades.
Haga clic en Enlazador. Cambie la opción Per-UserRedirection a Sí.
Haga clic en OK.
En el paso siguiente, agregará un control al proyecto.