控件属性
除了控件本身定义的和实现的属性外,ActiveX 控件技术还涉及:
-
环境属性
-
这些由容器通过控件客户端站点公开,以提供应用于容器中嵌入的所有控件的环境值。 例如,容器可以提供默认背景色或控件可以使用的默认字体。 环境属性通过在容器的站点对象上实现 IDispatch 公开。 容器在其任何环境属性更改值时调用控件的 IOleControl::OnAmbientPropertyChange 方法。 在响应中,控件可能需要更新其自己的内部或视觉状态才能响应。 容器指示使用 DISPID 参数更改的环境属性,或者传递DISPID_UNKNOWN以指示多个环境属性已更改。
-
扩展属性
-
这些实际上是由容器实现的,用于包装它所包含的控件,以提供容器托管的属性,就像它们是本机控件属性一样。 容器可以聚合控件,添加扩展属性以补充或替代控件的属性。 聚合对象称为扩展控件。 对于容器,扩展控件显示为控件本身,扩展属性似乎由控件公开。 容器通过其客户端站点方法 IOleControlSite::GetExtendedControl支持扩展控件。 GetExtendedControl 方法允许控件在容器支持此功能的情况下,通过站点导航到容器提供的扩展控件对象。 除了控件通常通过 ISpecifyPropertyPages指定的页面之外,容器还可以选择显示其扩展控件的属性页。 因此,控件必须要求容器在控件尝试执行此作之前显示属性帧。 控件调用 IOleControlSite::ShowPropertyFrame 执行此作。 如果容器实现此函数,则它显示属性帧本身;如果方法返回错误,则控件可以显示属性帧。
有关详细信息,请参阅以下主题:
相关主题