Compartir a través de


Tutorial: Crear un control ActiveX ATL multiplataforma para Smart Devices

Actualización: noviembre 2007

Es posible utilizar Visual C++ para dispositivos con el fin de diseñar controles ActiveX cuyo destino puedan ser varios dispositivos. El siguiente tutorial describe cómo generar un control ActiveX ATL multiplataforma.

En este tutorial, es posible realizar las siguientes tareas principales:

  • Crear un proyecto ATL para Smart Device multiplataforma.

  • Agregue un control ActiveX al proyecto utilizando el asistente. Observe que el asistente generara la mayor parte de la estructura básica y del código.

  • Modifique el código en los archivos stdafx.h y samplecontrol.h para definir el modelo de subprocesamiento y evitar advertencias del compilador.

  • Implementar la solución multiplataforma. Observe que el archivo de Internet Explorer también se genera para facilitar la comprobación y ejecución del control.

Este tutorial se ha escrito usando la configuración de desarrollo de Visual C++.

Nota:

Los cuadros de diálogo y comandos de menú que se ven pueden diferir de los descritos en la Ayuda, en función de la configuración activa o la edición. Para cambiar la configuración, elija la opción Importar y exportar configuraciones en el menú Herramientas. Para obtener más información, vea Valores de configuración de Visual Studio.

Crear un control ActiveX ATL multiplataforma

Para crear un control ActiveX ATL multiplataforma

  1. En el menú Archivo, elija Nuevo, haga clic en Proyecto, expanda el nodo de Visual C++ en el panel Tipos de proyecto y, a continuación, haga clic en Smart Device.

  2. En el panel Plantillas, haga clic en Proyecto ATL de Smart Device.

  3. En el cuadro Nombre, escriba ATLAXControl y, a continuación, haga clic en Aceptar.

    Se inicia el Asistente para proyectos ATL de Smart Device.

  4. Haga clic en Siguiente en la página de bienvenida del Asistente para proyectos ATL de Smart Device de bienvenida.

    Aparece Plataformas, Asistente para proyectos ATL de Smart Device, por lo que puede seleccionar los SDK de la plataforma para va a agregar al proyecto actual.

  5. En la lista SDK instalados, seleccione las plataformas que desea agregar al proyecto actual, como Smartphone 2003 y Pocket PC 2003. Para agregar una plataforma, seleccione la plataforma que aparece en el panel izquierdo, como Smartphone 2003 y haga clic en el botón con la flecha derecha (>) sobre dicha plataforma. Para quitar una plataforma, seleccione la plataforma que aparece en el panel derecho, como Pocket PC 2003 y haga clic en el botón con la flecha izquierda (<) sobre dicha plataforma.

  6. Haga clic en Finalizar para terminar y cerrar el asistente.

Agregar un control ActiveX al proyecto

Para agregar un control ActiveX al proyecto

  1. En el Explorador de soluciones, haga clic con el botón secundario del mouse en ATLAXControl, elija Agregar y, a continuación, haga clic en Clase.

  2. En el panel Categorías, haga clic en Smart Device.

  3. En el panel Plantillas, haga clic en Control ATL y, a continuación, en Agregar.

    Aparece el cuadro de diálogo Asistente para controles ATL.

  4. En el cuadro de texto Nombre corto, escriba samplecontrol.

  5. Haga clic en Finalizar para terminar y cerrar el asistente.

Modificar el código en archivos de encabezado

Para modificar el código en stdafx.h

  1. En el Explorador de soluciones, haga doble clic en stdafx.h para abrirlo en el editor.

  2. Agregue #define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA de definición siguiente después de #pragma once, tal y como se muestra aquí:

        // Add this define after 
        #pragma once
    #define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA
    
  3. Agregue un control ActiveX al proyecto tal y como se describe en el siguiente procedimiento.

Para agregar un control ActiveX para el proyecto

  1. En el Explorador de soluciones, haga doble clic en samplecontrol.h para abrirlo en el editor.

  2. Reemplace la cadena ATL 8.0 : samplecontrol con Hello World ActiveX Control en el código que define Isamplecontrol.

Nota:

Los controles ActiveX para una plataforma DCOM se deberían marcar como modelo apartamento subprocesado al generarse. Ésta es la configuración predeterminada del asistente del control ALT. Puede omitir, sin ningún tipo de problema, la advertencia generada durante la compilación. Los proyectos ATL, GUI y EXE, al igual que ocurre con aquellos a los que se ha agregado atlwin.h, atlctl.h o atlhost.h a un proyecto ATL EXE, deberían tener _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA definido en stdafx.h antes de incluir los archivos de encabezado ATL. Esta práctica es la misma que se realiza cuando se está desarrollando para el escritorio. Para obtener más información, vea Generar y depurar proyectos de dispositivos de Visual C++.

Implementar la solución ATL multiplataforma

Para implementar la solución

  1. En el menú Generar, haga clic en Volver a generar solución para generar el control.

  2. En el menú Generar, haga clic en Implementar solución.

  3. En la lista desplegable Dispositivo de destino de la barra de herramientas de Visual Studio, seleccione un destino, como Pocket PC 2003 SE - Emulador o Pocket PC 2003 - Dispositivo.

  4. En el menú Generar, haga clic en Implementar.

Elegir un dispositivo de destino

Lleve a cabo el procedimiento siguiente para asegurarse de que se le pedirá seleccionar un dispositivo cuando implemente la solución.

Para solicitar opciones de dispositivos durante su implementación

  1. En el menú Herramientas, haga clic en Opciones, expanda el nodo Herramientas de dispositivo y, a continuación, haga clic en General.

  2. Si Herramientas de dispositivo no está visible, seleccione Mostrar todas las configuraciones en la parte inferior del cuadro de diálogo Opciones.

  3. Active la casilla Mostrar dispositivos antes de implementar un proyecto de dispositivo y, a continuación, haga clic en Aceptar.

Para ejecutar el control, utilice Explorador de archivos en el dispositivo, navegue hasta Archivos de programa\ATLAXControl y haga doble clic en el archivo ATLAXControl de Internet Explorer. Aparecerán uno o varios mensajes de seguridad. Haga clic en Sí para ejecutar la página.

Vea también

Referencia

Visual C++ (Cómo se utiliza en Smart Devices)

Otros recursos

Cómo: Crear un proyecto para múltiples plataformas de dispositivo (Visual C++)