【问题标题】:How to collect Active X controls in the MFC dialog如何在 MFC 对话框中收集 Active X 控件
【发布时间】:2011-02-01 11:30:39
【问题描述】:

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

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

【问题讨论】:

    标签: com mfc activex visual-c++


    【解决方案1】:

    这是在对话框中获取 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,则添加到集合中

    【讨论】:

      猜你喜欢
      • 2011-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-12
      • 1970-01-01
      • 1970-01-01
      • 2019-04-18
      相关资源
      最近更新 更多