【问题标题】:VC++: How to capture the Events fired from an ActiveX (.ocx) inside ATL projectVC++:如何捕获从 ATL 项目中的 ActiveX (.ocx) 触发的事件
【发布时间】:2017-10-17 22:00:03
【问题描述】:

我正在制作控件的包装器,即 ocx 对象的接口。必须创建一个 ATL 项目,然后添加/加载 ocx 文件。它具有公开的属性、方法和事件。我能够控制/使用它的属性和方法,但是我被困在事件上,尤其是在它触发后处理它。

在谷歌上搜索过它,我发现的大多数指南都是从头开始制作的,或者来自 ATL 事件本身。我想要实现的是利用 ocx 中暴露的事件。有人知道吗?

非常感谢。

【问题讨论】:

    标签: c++ activex atl ocx


    【解决方案1】:

    在 ATL 中,处理 COM 事件的标准选项是使用 IConnectionPointContainerEvent Handling and ATL 中解释的朋友:

    有关如何触发事件和实现连接点的信息,请阅读ATL Connection Points

    或者,特别是对于 ActiveX 控件事件,您的第二个选项是 IDispEventImpl 第一个链接的类引用:

    IDispEventImpl在其他资源上也有详细解释,例如:

    【讨论】:

      猜你喜欢
      • 2017-09-12
      • 1970-01-01
      • 1970-01-01
      • 2011-04-04
      • 2014-09-05
      • 2011-05-16
      • 1970-01-01
      • 1970-01-01
      • 2011-02-11
      相关资源
      最近更新 更多