Arquitectura de controles ActiveX

La tecnología de controles ActiveX se basa en una base de muchos objetos e interfaces de nivel inferior en OLE. Las interfaces exactas disponibles en un control varían con sus funcionalidades. En esta sección se examinan con más detalle las funcionalidades que puede proporcionar un control.

Los controles ActiveX se usan para proporcionar los bloques de creación para crear interfaces de usuario en aplicaciones. Por ejemplo, un botón que inicia alguna acción en la aplicación contenedora cuando se hace clic en él es un control simple. Los siguientes aspectos están implicados en proporcionar estos bloques de creación de la interfaz de usuario:

  • Un control se puede insertar en su cliente contenedor para admitir alguna actividad de interfaz de usuario dentro del cliente. Por lo tanto, un control debe proporcionar una representación visual de sí misma cuando se inserta dentro del contenedor y debe proporcionar una manera de guardar su estado, por ejemplo, sus valores de propiedad y su posición dentro de su contenedor. El cliente debe admitir ser un contenedor con objetos incrustados en él.
  • Al activar el control mediante un teclado o mouse, el usuario final inicia alguna acción en la aplicación cliente. Por lo tanto, un control debe responder a la actividad de teclado y debe ser capaz de comunicarse con su cliente para que pueda notificar a su contenedor de sus actividades y desencadenar eventos en el cliente.
  • El cliente también suele proporcionar un lenguaje de programación a través del cual el usuario final puede iniciar acciones proporcionadas por las propiedades y métodos del control. Por lo tanto, un control también debe admitir la automatización y un conjunto de características en tiempo de diseño frente a características en tiempo de ejecución.

Como resultado de su rol en proporcionar bloques de creación de interfaz de usuario, un control normalmente admite características en las siguientes áreas mediante tecnologías OLE, como se indica:

Propiedades y métodos

Al igual que cualquier objeto OLE, un control puede proporcionar gran parte de su funcionalidad a través de un conjunto de interfaces entrantes con propiedades y métodos. El contenedor puede proporcionar propiedades ambientales adicionales y puede admitir la extensión de las propiedades del control a través de la agregación. Estas características se basan en la automatización OLE, las páginas de propiedades, los objetos conectables y las tecnologías de control ActiveX.

Eventos

Además de proporcionar propiedades y métodos, un control ActiveX también puede proporcionar interfaces salientes para notificar a su cliente de eventos. El cliente debe admitir el control de estos eventos. Estas características usan la automatización OLE y los objetos conectables.

Representación visual

Un control puede admitir el posicionamiento y mostrarse dentro de su contenedor. El contenedor coloca el control y determina su tamaño. Estas características usan tecnología compuesta de documentos, incluida la tecnología ole de arrastrar y colocar.

Control de teclado

Un control puede responder a los aceleradores de teclado para que el usuario final pueda iniciar acciones realizadas por el control. El contenedor administra la actividad de teclado para todos sus controles incrustados. Estas características usan tecnologías de control y documentos compuestos.

Persistencia

Un control puede guardar su estado. El cliente administra la persistencia de sus controles incrustados. Estas características usan tecnologías de persistencia de objetos y almacenamiento estructurados.

Registro y licencias

Normalmente, un control admite el registro propio y crea un conjunto de entradas del Registro cuando se crea una instancia. También se puede conceder una licencia a un control para evitar el uso no autorizado.

La mayoría de estas características implican tanto el control como su contenedor de cliente.

Controles ActiveX