2011-03-17 36 views
1

我有一个相当简单的MFC应用程序,只定义的CDocumentCViewCFrameWnd自己的子类,并通过CSingleDocTemplate使用它们显示的只读内容该文件在视图中的一棵树上。所有非常标准的MFC MVC。转换简单的MFC的CView/CDocument的/ CSingleDocTemplate应用ActiveX控件

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

我应该怎么办?

是否可以使用COleControl子类代替CSingleDocTemplate中的CFrameWnd子类?或者我需要将CFrameWnd子课程放在COleControl的某些方面?

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

回答

3

回答我自己的问题:我发现了很多关于这方面的旧文章的参考文献,它曾经是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)

史蒂夫提出了两个新类的源代码:

CActiveXDocTemplate:一个子类的CSingleDocTemplate
CActiveXDocControl:子类COleControl

它允许我在ActiveX控件中使用我现有的CViewCDocument子类。

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