【问题标题】:Visual C++: ATL Implementation of an InterfaceVisual C++:接口的 ATL 实现
【发布时间】:2012-12-20 06:30:39
【问题描述】:

我想这是一个非常愚蠢的问题,但我找不到答案。我正在尝试使用 ATL 实现 COM 接口。根据this,我应该使用实现接口向导。我的问题是如何在此向导中找到所需的界面。我必须浏览所有图书馆吗?是否在接口文档的某处指定 (IOleCommandTarget)

【问题讨论】:

    标签: visual-c++ com atl


    【解决方案1】:

    要实现你需要的接口:

    • 从它继承你的类
    • 添加到界面地图
    • 实现其方法

    例如:

    class CFoo : 
      // regular COM object base class, esp. those generated by ATL Simple Object Class Wizard
      public IOleCommandTarget
    {
    
    BEGIN_COM_MAP(CFoo)
      // ...
      COM_INTERFACE_ENTRY(IOleCommandTarget)
    END_COM_MAP()
    
    // ...
    
    public:
    // IOleCommandTarget
      STDMETHOD(Exec)(...) // IOleCommandTarget methods go here
      {
        // ...
      }
    };
    

    【讨论】:

    • 这是一个非常有用的答案。感谢您的快速回复。
    猜你喜欢
    • 2012-08-04
    • 2011-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多