Insertar un control ActiveX

Si crea y distribuye un control ActiveX personalizado, ahorrará esfuerzo y tiempo a los demás diseñadores de plantillas de formulario, al tiempo que podrá ofrecer funcionalidad no disponible en Microsoft Office InfoPath. Puede hacer que los controles ActiveX de Microsoft estén disponibles en modo de diseño (modo de diseño: entorno de diseño de InfoPath en el que se puede crear o modificar una plantilla de formulario.) y después usarlos en las plantillas de formulario que cree.

En este artículo


Cuándo se debe utilizar un control ActiveX

Por lo general, un control ActiveX se usa cuando se desea incluir en una plantilla de formulario un elemento de interfaz de usuario que no está disponible en InfoPath, como el control deslizante incluido en Microsoft Windows.

Además, su organización también puede crear sus propios controles ActiveX personalizados para usos comerciales específicos. Por ejemplo, un hospital puede desarrollar un control ActiveX que permita mostrar imágenes médicas en un formulario. O suponga que sus representantes de ventas tienen que hacer el seguimiento del número de artículos vendidos en un mes determinado. Actualizar un cuadro de texto escribiendo los datos puede ser pesado y dar lugar a errores, sobre todo teniendo en cuenta que muchas veces los representantes de ventas tienen que incrementar la cifra de uno en uno. Un control ActiveX personalizado que se incrementara automáticamente con sólo hacer clic con el mouse (ratón) reduciría el tiempo necesario para llevar el control de esta información y podría ayudar a reducir los errores.

Volver al principio Volver al principio

Experiencia del usuario

Lo que ve el usuario en el formulario depende totalmente del tipo de control ActiveX que utilice en la plantilla de formulario.

Cuando publique una plantilla de formulario que contenga un control ActiveX, dicho control deberá estar instalado y registrado en los equipos de los usuarios con objeto de que éstos puedan abrir los formularios basados en dicha plantilla de formulario. Puede que algunos controles ActiveX, como los que están incluidos en Microsoft Windows, ya estén instalados y registrados en los equipos de los usuarios. Puede que haya otros controles ActiveX, como los personalizados que usted mismo desarrolle, que no estén instalados ni registrados. En este caso, deberá tomar medidas para instalar y registrar los controles en los equipos de los usuarios.

Si piensa instalar la plantilla de formulario con un programa de instalación personalizado, puede instalar y registrar el control ActiveX personalizado al mismo tiempo. Otra opción consiste en especificar un archivo contenedor (.cab) existente en el Asistente para agregar un control personalizado que se emplea para instalar el control en los equipos de los usuarios.

Si utiliza el Asistente para agregar un control personalizado para poner un control ActiveX a disposición de los usuarios, deberá especificar si desea empaquetar un archivo .cab existente junto con la plantilla de formulario. Este archivo .cab permite instalar el control y registrarlo en los equipos de los usuarios. Si decide incluir un archivo .cab junto con la plantilla de formulario y los usuarios no tienen instalado el control ActiveX, InfoPath les pedirá que instalen el control cuando abran por primera vez un formulario basado en la plantilla de formulario.

InfoPath instala y registra automáticamente el control en los equipos de los usuarios si se cumplen los siguientes requisitos:

  • El archivo .cab está firmado con un certificado digital que crea una firma digital en el archivo.
  • La firma digital procede de un programador de formularios o de otro editor de confianza. Si el archivo .cab está firmado, pero el editor aún no es de confianza en el equipo del usuario, InfoPath mostrará una alerta de seguridad y solicitará del usuario que habilite la confianza para ese editor.

Volver al principio Volver al principio

Consideraciones sobre compatibilidad

Al diseñar una plantilla de formulario en InfoPath, puede optar por diseñar una plantilla de formulario compatible con el explorador (plantilla de formulario compatible con el explorador: plantilla de formulario diseñada en InfoPath mediante un modo de compatibilidad específico. Una plantilla de formulario compatible con el explorador puede estar habilitada para el explorador cuando se publica en un servidor que ejecuta InfoPath Forms Services.). Si diseña una plantilla de formulario compatible con el explorador, los controles ActiveX no estarán disponibles en el panel de tareas Controles porque no pueden mostrarse en un explorador Web.

Además, los controles ActiveX no están disponibles en los elementos de plantilla (elemento de plantilla: parte de una plantilla de formulario que se puede guardar para su uso en múltiples plantillas de formularios. Un elemento de plantilla típico consiste en controles y un origen de datos y puede incluir también características tales como conexiones de datos, validación de datos y reglas.).

Volver al principio Volver al principio

Insertar un control ActiveX en una plantilla de formulario

Para poder agregar un control ActiveX a una plantilla de formulario, éste debe estar disponible en el panel de tareas Controles. InfoPath dispone de un Asistente para agregar un control personalizado que le guiará en el proceso de seleccionar un control ActiveX, incluir un archivo .cab de instalación junto con la plantilla de formulario, si es necesario, y especificar opciones de enlace (enlazar: conectar un control con un campo o grupo en el origen de datos para que se guarden los datos escritos en el control. Cuando un control no está enlazado, no está conectado con un campo o un grupo, por lo que no se guardan los datos escritos en el control.) y otras propiedades para el control ActiveX.

Agregar un control ActiveX al panel de tareas Controles

Si crea su propio control ActiveX para usarlo en InfoPath, debe identificar dicho control como seguro para la inicialización y como seguro para la secuencia de comandos antes de completar el procedimiento siguiente.

  1. Si el panel de tareas Controles no está visible, haga clic en Más controles en el menú Insertar o presione ALT+I, C.
  1. En la parte inferior del panel de tareas Controles, haga clic en Agregar o quitar controles personalizados.
  2. En el cuadro de diálogo Agregar o eliminar controles personalizados, haga clic en Agregar.
  3. En la primera página del Asistente para agregar un control personalizado, haga clic en Control ActiveX y, a continuación, haga clic en Siguiente.
  4. En la página siguiente del asistente, haga clic en el control que desee en la lista Seleccionar un control y, a continuación, haga clic en Siguiente.

 Nota   La lista Seleccionar un control muestra los controles ActiveX que están registrados actualmente en el equipo, incluidos los controles ActiveX de Microsoft Windows. Si ha creado su propio control ActiveX personalizado, deberá registrarlo para que aparezca en la lista Seleccionar un control. Si los controles ActiveX no son compatibles con InfoPath o se consideran no seguros, no podrá agregarlos a InfoPath.

  1. En la siguiente página del asistente, siga uno de estos procedimientos:
    • Para incluir un archivo .cab de instalación con la plantilla de formulario, haga clic en Incluir un archivo .CAB, especifique el archivo que desea utilizar y haga clic en Siguiente.
    • Para instalar el control ActiveX mediante un programa de instalación personalizado o si el control ActiveX ya se encuentra instalado en los equipos de los usuarios, haga clic en No incluir un archivo .CAB y, a continuación, en Siguiente.
  2. En la lista Propiedad Binding, siga uno de estos procedimientos:
    • Para enlazar una propiedad del control ActiveX a un campo del origen de datos, haga clic en un elemento.

 Nota   Si el control ActiveX incluye la propiedad Value, InfoPath la seleccionará automáticamente, pero usted puede elegir cambiarla.

  • Para dejar un control ActiveX sin enlazar, haga clic en (no enlazar).
  1. Haga clic en Siguiente.
  2. Según el tipo de control ActiveX que haya elegido agregar, puede que aparezca la lista Propiedad Enable o Disable. En estos casos, haga clic en una propiedad y, a continuación, haga clic en Siguiente.

 Nota   Si el control incluye la propiedad Enabled, InfoPath la seleccionará automáticamente, pero usted puede elegir cambiarla.

  1. Si especificó una propiedad binding en el paso 7, especifique las opciones de enlace que desee.

Mostrar¿Cómo?

En la lista Tipo de campo o grupo, siga uno de estos procedimientos:

  • Para enlazar el control ActiveX a un campo con un tipo de datos simple, haga clic en Campo (elemento o atributo). Este tipo de enlace lo utilizan los controles ActiveX simples, como el control deslizante incluido en Microsoft Windows. Si selecciona esta opción, debe especificar un tipo de datos predeterminado para el control ActiveX, además de todos los tipos de datos adicionales a los que pueda enlazarse el control ActiveX.
  • Para enlazar el control ActiveX a un campo con un tipo de datos personalizado, haga clic en Campo (elemento con tipo de datos personalizados). Este tipo de enlace lo utilizan los controles ActiveX que funcionan como editores de un tipo de contenido específico, como el editor de ecuaciones para MathML. Si selecciona esta opción, deberá especificar también un espacio de nombres (espacio de nombres: mecanismo que califica de forma exclusiva a los nombres y las relaciones de los elementos para evitar colisiones de nombres con los elementos que tengan el mismo nombre pero que provengan de distintos orígenes.) para el código XML que se va a editar.
  • Para enlazar un control ActiveX a un campo o un grupo, con independencia del tipo de datos, haga clic en Campo o grupo (cualquier tipo de datos). Este tipo de enlace lo utilizan los controles ActiveX que analizan la información agregada a otra parte del mismo formulario, por ejemplo un gráfico, o los controles ActiveX que manipulan directamente los datos XML.
  1. Haga clic en Finalizar.
  2. Revise el mensaje de confirmación y haga clic en Cerrar para salir del asistente.
  3. En el cuadro de diálogo Agregar o quitar controles personalizados, haga clic en Aceptar.

Una vez haya aparecido el control ActiveX en el panel de tareas Controles, podrá insertarlo en la plantilla de formulario.

Insertar un control ActiveX en una nueva plantilla de formulario en blanco

Al insertar un control ActiveX de Microsoft en la plantilla de formulario, InfoPath inserta un control personalizado enlazado a un grupo o a un campo del origen de datos, en función de las opciones especificadas en el Asistente para agregar un control personalizado.

 Nota   Si otros diseñadores de plantillas de formulario de su organización necesitan utilizar el mismo control ActiveX en sus plantillas de formulario y ese control no está instalado en sus equipos, puede crear un programa de instalación personalizado, como por ejemplo un archivo paquete de Microsoft Windows Installer (.msi). Este programa de instalación personalizado puede instalar y registrar rápidamente el control ActiveX en los equipos de los diseñadores de plantillas de formulario.

  1. En la plantilla de formulario, coloque el cursor donde desee insertar el control.
  1. Si el panel de tareas Controles no está visible, haga clic en Más controles en el menú Insertar o presione ALT+I, C.
  1. En Insertar controles, haga clic en el nombre del control ActiveX que desea insertar.

Seguridad  Tenga cuidado a la hora de agregar controles ActiveX a la plantilla de formulario. El diseño de los controles ActiveX puede representar un riesgo para la seguridad. Le recomendamos que utilice únicamente controles procedentes de fuentes de confianza.

  1. Todas las páginas de propiedades específicas de ese control ActiveX aparecerán junto a las páginas de propiedades estándar de InfoPath para los controles ActiveX. Para ver estas páginas de propiedades, haga doble clic en el control ActiveX en la plantilla de formulario.

Insertar un control ActiveX en una plantilla de formulario basada en un origen de datos existente

Si basa el diseño de la plantilla de formulario en un archivo, base de datos o servicio web existente de lenguaje de marcado extensible (XML), InfoPath obtiene los campos y grupos del panel de tareas Origen de datos de ese origen de datos existente. En este escenario, puede insertar un control ActiveX arrastrando un campo desde el panel de tareas Origen de datos hasta la plantilla de formulario o insertando el control ActiveX desde el panel de tareas Controles, tal como se describe en el procedimiento siguiente:

  1. En la plantilla de formulario, coloque el cursor donde desee insertar el control.
  1. Si el panel de tareas Controles no está visible, haga clic en Más controles en el menú Insertar o presione ALT+I, C.
  1. En Insertar controles, haga clic en el nombre del control ActiveX que desea insertar.
  2. En el cuadro de diálogo Enlace de Control, seleccione el campo en el que desea guardar los datos del control y haga clic en Aceptar.

Volver al principio Volver al principio

Sugerencias de seguridad

Al diseñar formularios que incluyan controles ActiveX, debe tener en cuenta los siguientes problemas de seguridad:

  • Los controles ActiveX que se emplean en InfoPath tienen restricciones más estrictas que las de los controles ActiveX que se emplean en Windows Internet Explorer. Por ejemplo, InfoPath requiere que los controles ActiveX estén marcados como seguros para la inicialización y como seguros para la secuencia de comandos. Si crea controles ActiveX personalizados para su uso en plantillas de formulario, debe implementar la interfaz IObjectSafety con objeto de que InfoPath reconozca que un control determinado está marcado como seguro para la inicialización y como seguro para la secuencia de comandos.
  • Tenga cuidado a la hora de agregar controles ActiveX a la plantilla de formulario. El diseño de los controles ActiveX puede representar un riesgo para la seguridad. Le recomendamos que utilice únicamente controles procedentes de fuentes de confianza.
  • Los controles ActiveX no pueden instalarse ni ejecutarse en plantillas de formulario con un nivel de confianza restringido (como se especifica en el cuadro de diálogo Opciones del formulario en el modo de diseño).
  • Para obtener más información sobre cómo diseñar controles ActiveX más seguros, visite el sitio Web Microsoft Developer Network (MSDN).

Volver al principio Volver al principio

 
 
Corresponde a:
InfoPath 2007