Compartir a través de


Propiedades del control

Además de las propiedades definidas e implementadas por el propio control, la tecnología de controles ActiveX también implica:

propiedades de Ambient

El contenedor los expone a través de un sitio cliente de control para proporcionar valores de entorno que se aplican a todos los controles insertados en el contenedor. Por ejemplo, un contenedor puede proporcionar un color de fondo predeterminado o una fuente predeterminada que el control pueda usar. Las propiedades ambientales se exponen a través de IDispatch implementadas en el objeto de sitio de un contenedor. El contenedor llama al método IOleControl::OnAmbientPropertyChange cuando cualquiera de sus propiedades ambientales cambian el valor. En respuesta, es posible que un control tenga que actualizar su propio estado interno o visual en respuesta. El contenedor indica qué propiedad ambiente ha cambiado con el parámetro DISPID o puede pasar DISPID_UNKNOWN para indicar que han cambiado varias propiedades ambientales.

propiedades extendidas de

En realidad, un contenedor implementa estos controles para encapsular los controles que contiene para proporcionar propiedades administradas por contenedor que aparecen como si fueran propiedades de control nativas. El contenedor puede agregar el control, agregando las propiedades extendidas para complementar o invalidar las propiedades del control. El objeto agregado se denomina control extendido. En el contenedor, el control extendido aparece como el propio control y las propiedades extendidas aparecen expuestas por el control. El contenedor admite un control extendido a través de su método de sitio cliente IOleControlSite::GetExtendedControl. El método GetExtendedControl de permite a los controles navegar por el sitio al objeto de control extendido proporcionado para ellos por el contenedor, si el contenedor admite esta característica. Un contenedor también puede elegir mostrar páginas de propiedades para sus controles extendidos además de las páginas que un control especificaría normalmente a través de ISpecifyPropertyPages. Debido a esto, un control tiene que pedir a un contenedor que muestre un marco de propiedad antes de que el control intente hacerlo. El control llama a IOleControlSite::ShowPropertyFrame para hacerlo. Si el contenedor implementa esta función, muestra el propio marco de propiedad; si el método devuelve un error, el control puede mostrar el marco de propiedad.

Para obtener más información, consulte los temas siguientes:

métodos de control de