VC ++:如何捕获从ATL项目中的ActiveX(.ocx)触发的事件

时间:2017-05-18 07:55:09

标签: c++ activex atl ocx

我正在制作一个控件的包装器,一个ocx对象的接口。必须创建一个ATL项目,然后添加/加载ocx文件。它具有暴露的属性,方法和事件。我可以控制/使用它的属性和方法但是我被卡在事件上,特别是在它发生后处理它。

在Google上搜索过它,我发现的大多数指南都是从头开始或从ATL事件本身开始的。我想要实现的是利用来自ocx的暴露事件。有没有想法?

非常感谢。

1 个答案:

答案 0 :(得分:0)

在ATL中,处理COM事件的标准选项是使用IConnectionPointContainer和朋友,如Event Handling and ATL中所述:

  

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

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

IDispEventImpl也会在其他资源中详细解释,例如: