修改控件的运行时行为
更新:2007 年 11 月
当插入控件并生成一个或多个包装类后,可以调用控件的方法并编写控件的事件处理程序。
控件的包装类指定可用来修改控件的运行时行为的函数。包括适当的包装类头文件并使用方法。若要设置属性,请查找属性名的前缀为 Set 的访问器方法。若要检索属性,请查找属性名的前缀为 Get 的访问器方法。以后可以编写事件处理程序。
由于控件是使用自动化实现的,传递的类型只能为自动化安全类型,如 BSTR 和 VARIANT。虽然可以使用系统调用来分配和设置 BSTR 和 VARIANT 时,但可能需要使用 ATL 包装类(CComBSTR、CComVariant)、Visual C++ COM 编译器支持包装类(_bstr_t、_variant_t)或 MFC 包装类 (COleVariant)。
如果添加数据控件,“插入 ActiveX 控件向导”将为数据控件的 coclass 生成管理其内部数据对象的包装类。这些类不包括所有 RDO 和 ADO,而是表示在类型库中声明的内部对象。
如果要直接使用 ADO 和 RDO,则应使用支持 #import 指令 的编译器 COM 支持类或使用相应 SDK 直接连接到 ADO 或 RDO DLL(MSADO15.dll 或 MSRDO20.dll)。
在运行时设置控件属性
请注意,ActiveX 控件的某些属性在运行时可能是只读的,这将使动态创建变得困难。您可以临时模拟属性初始化的设计模式,方法是重写控件容器的 OnAmbientPropertyChange 处理程序,如知识库文章“如何:在运行时设置 ActiveX 控件设计时属性 (Q260744)”中所述。知识库文章位于 https://support.microsoft.com/default.aspx?ln=zh-cn。