如何在MFC对话框中收集Active X控件

时间:2010-03-27 07:25:01

标签: com mfc activex visual-c++

我知道我们可以在对话框中枚举窗口控件,并使用回调我们可以收集窗口控件。

我正在寻找基于接口实现过滤掉控件的特定方法。例如,如果Active-X控件派生自接口IDataControl,我希望将其添加到我的兴趣集合列表中。

1 个答案:

答案 0 :(得分:0)

以下是在对话框中获取ole / active-x控件的一般过程。

  1. 使用回调执行EnumWindows
  2. 在回调中,将窗口句柄附加到CWnd
  3. 尝试获取控件CWnd :: GetControlUnknown的IUnknown指针  提示:How to detect whether a control is standard or active-x control?

  4. 如果返回IUnknown不为null,请为IDataControl执行queryInterface。

  5. 如果IDataControl实例不为null,则添加到集合