将简单的MFC CView / CDocument / CSingleDocTemplate应用程序转换为ActiveX控件

时间:2011-03-17 18:23:45

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

我有一个相当简单的MFC应用程序,它只定义了自己的CDocumentCViewCFrameWnd子类,并通过CSingleDocTemplate使用它们来显示读取 - 视图中树中文档的内容。所有非常标准的MFC MVC。

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

我应该怎么做?

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

如果失败了,我如何在ActiveX控件中使用现有的CDocument\CView子类?

1 个答案:

答案 0 :(得分:4)

回答我自己的问题:我发现了很多关于此的旧文章的引用,这篇文章过去曾在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子类。

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