使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

摘要

ActiveX 控件必须实现 IProvideClassInfo 或 IProvideClassInfo2 接口,以启用事件处理 Web 页上。Microsoft Internet Explorer 使用此接口获取控件的类型库和确定可用的事件集。

更多信息

使用一种脚本语言,如 VBScript 或 JavaScript,Web 页作者可以使用自动化调用方法/属性和处理 HTML < 对象 > 标记的页面上放置一个 ActiveX 控件的事件。为了支持此类事件处理 ActiveX 控件,它必须实现 IProvideClassInfo 或 IProvideClassInfo2 接口。Internet Explorer 查询这些接口上的控制,并实现时,如果调用 GetClassInfo() 方法来获取该控件的类型库。Internet Explorer 最初将 IProvideClassInfo2 查询控件,并且如果未实现,然后将 IProvideClassInfo.The IProvideClassInfo2 接口从 IProvideClassInfo 派生,并提供更多方法,GetGUID() 查询它返回一个对象的传出默认事件集的接口 ID。对于使用 Microsoft 基础类开发 ActiveX 控件,默认实现 IProvideClassInfo2 接口。对于使用 Microsoft Visual Basic 开发 ActiveX 控件,默认实现 IProvideClassInfo 接口。当使用 Microsoft 活动模板库 (ATL),版本 3.0,下面的精简控制 ATL 对象不默认实现 IProvideClassInfo2 接口:

  • 简单的对象

  • Internet Explorer 对象

  • 精简的控件

  • 精简的复合控件

  • 精简的 HTML 控件

您可以轻松添加事件处理的方法实现 IProvideClassInfo 接口的支持。这是 IProvideClassInfo2Impl 的默认 ATL 实现从派生的控件。

  1. 将以下行添加到派生列表:

       public IProvideClassInfo2Impl<&CLSID_<object_name>, NULL,                                 &LIBID_<project_name>Lib>
  2. 将以下行添加到您的 COM_MAP:

       COM_INTERFACE_ENTRY(IProvideClassInfo)   COM_INTERFACE_ENTRY(IProvideClassInfo2)

参考

有关活动模板库,实现 ActiveX 控件的详细信息,请参阅 Microsoft Visual C++ 联机文档。有关为 Microsoft Internet Explorer 开发基于 Web 的解决方案的详细信息,请访问下面的 Microsoft 网站:

http://msdn.microsoft.com/ie/ http://support.microsoft.com/iep(c) 微软公司 1999 年,保留所有权利。通过标记戴维斯,微软公司的贡献。

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×