Agregar un control (Tutorial de ATL, Parte 2)
En este paso, agrega un control al proyecto, lo compila y lo prueba en una página web.
Procedimientos
Para agregar un objeto a un proyecto ATL
En el Explorador de soluciones, haga clic con el botón derecho en el proyecto
Polygon
.Señale Agregar en el menú contextual y haga clic en Nuevo elemento en el submenú.
Aparecerá el cuadro de diálogo Agregar nuevo elemento. Las distintas categorías de objetos se enumeran en la estructura de árbol a la izquierda.
Haga clic en la carpeta ATL.
En la lista de plantillas de la derecha, seleccione Control ATL. Haga clic en Agregar. El asistente para Control ATL se abrirá y podrá configurar el control.
Escriba
PolyCtl
como nombre corto y observe que los demás campos se completan de forma automática. No haga clic en Finalizar todavía, ya que debe realizar algunos cambios más.
La página Nombres del asistente para Control ATL contiene los siguientes campos:
Campo | Contenido |
---|---|
Nombre corto | El nombre que especificó para el control. |
Clase | El nombre de la clase de C++ creada para implementar el control. |
Archivo .h | El archivo creado para contener la definición de la clase de C++. |
Archivo .cpp | El archivo creado para contener la implementación de la clase de C++. |
CoClass | Nombre de la clase de componente para este control. |
Interface | El nombre de la interfaz donde el control implementará sus métodos y propiedades personalizados. |
Tipo | Una descripción del control. |
ProgID | El nombre legible que se puede utilizar para buscar el CLSID del control. |
Encontrará varias configuraciones adicionales que se deben cambiar en el asistente para Control ATL.
Para habilitar la compatibilidad con la información de error enriquecida y con los puntos de conexión
Haga clic en Opciones para abrir la página Opciones.
Active la casilla Puntos de conexión. Esta opción creará la compatibilidad con una interfaz de salida en el archivo IDL.
También puede agregar interfaces para ampliar la funcionalidad del control.
Para ampliar la funcionalidad del control
Haga clic en Interfaces para abrir la página Interfaces.
Seleccione
IProvideClassInfo2
y haga clic en la flecha Arriba para moverlo a la lista Compatible.Seleccione
ISpecifyPropertyPages
y haga clic en la flecha Arriba para moverlo a la lista Compatible.
También puede hacer que el control sea insertable, es decir, que se pueda insertar en las aplicaciones que admiten objetos insertados, como Excel o Word.
Para que el control se pueda insertar
Haga clic en Apariencia para abrir la página Apariencia.
Active la casilla Insertable.
El polígono mostrado por el objeto tendrá un color de relleno sólido, por lo que debe agregar una propiedad estándar Fill Color
.
Para agregar una propiedad estándar Color de relleno y crear el control
Haga clic en Propiedades estándar para abrir la página Propiedades estándar.
En No compatible, desplácese hacia abajo por la lista de propiedades estándar posibles. Seleccione
Fill Color
y haga clic en la flecha Arriba para moverlo a la lista Compatible.Elija Finalizar.
Cuando el asistente crea el control, se producen varios cambios de código y se agregan archivos. Se crean los archivos siguientes:
Archivo | Descripción |
---|---|
PolyCtl.h | Contiene la mayor parte de la implementación de la clase CPolyCtl de C++. |
PolyCtl.cpp | Contiene los elementos restantes de CPolyCtl . |
PolyCtl.rgs | Un archivo de texto que contiene el script del Registro utilizado para registrar el control. |
PolyCtl.htm | Una página web que contiene una referencia al control recién creado. |
El asistente también realiza los cambios de código siguientes:
Agrega una instrucción
#include
a los archivos de encabezado precompilado para incluir los archivos ATL necesarios para admitir controles.Cambia Polygon.idl para incluir los detalles del nuevo control.
Agrega el nuevo control al mapa de objetos en Polygon.cpp.
Ahora puede compilar el control para verlo en acción.
Compilar y probar el control
Para compilar y probar el control
En el menú Compilar, haga clic en Build Polygon (Compilar polígono).
Una vez finalizada la compilación del control, haga clic con el botón derecho en PolyCtl.htm en el Explorador de soluciones y seleccione View in Browser (Ver en el explorador). Se muestra la página web HTML que contiene el control. Debería aparecer una página con el título “Página de prueba de ATL 8.0 para el objeto PolyCtl”, y su control, el texto PolyCtl.
Nota:
Si el control no está visible, tenga en cuanta que algunos exploradores requieren ajustes de configuración para ejecutar controles ActiveX. Consulte la documentación del explorador sobre cómo habilitar controles ActiveX.
Nota:
Cuando complete este tutorial, si recibe un mensaje de error sobre que el archivo DLL no se puede crear, cierre el archivo PolyCtl.htm y ActiveX Control Test Container, y compile de nuevo la solución. Si aún no puede crear el archivo DLL, reinicie el equipo o cierre la sesión si está usando Terminal Services.
Ahora, agregará una propiedad personalizada al control.
Volver al paso 1 | Avanzar al paso 3