Agregar un control (Tutorial de ATL, Parte 2)
En este paso, agregará un control al proyecto, lo compilará y lo probará en una página web.
Procedimientos
Para agregar un objeto a un proyecto ATL
En la Vista de clases, haga clic con el botón secundario en el proyecto Polygon.
Señale Agregar en el menú contextual y haga clic en Clase en el submenú.
Aparecerá el cuadro de diálogo Agregar clase. 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 controles ATL se abrirá y podrá configurar el control.
Escriba PolyCtl como nombre corto y observe que los demás campos se completan automáticamente. No haga clic en Finalizar todavía, porque hay que realizar algunos cambios.
La página Nombres del Asistente para controles 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. |
Interfaz |
El nombre de la interfaz donde el control implementará sus métodos y propiedades personalizados. |
Tipo |
Una descripción del control. |
Id. de programa |
El nombre legible que se puede utilizar para buscar el CLSID del control. |
Debe configurar varias opciones adicionales en el Asistente para controles 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. De esta forma se creará la compatibilidad con una interfaz de salida en el archivo IDL.
También puede hacer que el control sea insertable, es decir, que se pueda incrustar en las aplicaciones que admiten objetos incrustados, 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. Haga doble clic en Fill Color para moverlo a la lista Compatible.
Esto completa las opciones para el control. Haga clic en Finalizar.
Cuando el asistente creó el control, se produjeron varios cambios de código y se agregaron archivos. Se crearon los siguientes archivos:
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 realizó los siguientes cambios de código:
Agregó una instrucción #include a los archivos stdafx.h y stdafx.cpp para incluir los archivos ATL necesarios para admitir controles.
Cambió Polygon.idl para incluir los detalles del nuevo control.
Agregó 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 Compilar polígono.
Una vez finalizada la compilación del control, haga clic con el botón secundario en PolyCtl.htm en el Explorador de soluciones y seleccione Ver en el explorador. Se mostrará 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 el texto PolyCtl. Este es su control.
Nota |
---|
Cuando complete este tutorial, si recibe un mensaje de error acerca de 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 utiliza Terminal Services). |
A continuación, agregará una propiedad personalizada al control.
Volver al paso 1 | Seguir con el paso 3