【问题标题】:Convert simple MFC CView/CDocument/CSingleDocTemplate app to ActiveX control将简单的 MFC CView/CDocument/CSingleDocTemplate 应用程序转换为 ActiveX 控件
【发布时间】:2011-07-17 15:22:00
【问题描述】:

我有一个相当简单的 MFC 应用程序,它只定义了自己的 CDocumentCViewCFrameWnd 子类,并通过 CSingleDocTemplate 使用它们以在视图上的树。都是非常标准的 MFC MVC。

我现在需要转换这个应用程序,使它作为一个 ActiveX 控件工作,然后我可以将它嵌入到一个更大的应用程序中。

我该怎么办?

是否可以使用COleControl 子类代替CSingleDocTemplate 中的CFrameWnd 子类?或者我需要将CFrameWnd 子类放在COleControl 中吗?

如果做不到这一点,我如何在 ActiveX 控件中使用现有的 CDocument\CView 子类?

【问题讨论】:

    标签: c++ visual-c++ mfc activex


    【解决方案1】:

    回答我自己的问题:我发现很多关于这方面的旧文章的引用,该文章曾经位于 http://www.microsoft.com/mind/0497/mfc.asp,但早已消失。 :(

    幸运的是,Wayback Machine 仍然有它的完整副本:

    "Designing ActiveX Components with the MFC Document/View Model" by Steve Zimmerman, Microsoft Interactive Developer (April 1997)

    Steve 展示了两个新类的源代码:

    CActiveXDocTemplateCSingleDocTemplate 的子类
    CActiveXDocControlCOleControl 的子类

    这让我可以在 ActiveX 控件中使用我现有的 CViewCDocument 子类。

    (感谢史蒂夫,无论你现在在哪里)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-26
      • 2012-12-18
      • 1970-01-01
      • 2011-08-17
      • 2021-12-12
      相关资源
      最近更新 更多