我有一个相当简单的 MFC 应用程序,它只定义了自己的 CDocument
、CView
和 CFrameWnd
子类,并通过CSingleDocTemplate
在 View 的树中显示文档的只读内容。都是非常标准的 MFC MVC。
我现在需要转换此应用程序,以便它作为 ActiveX 控件工作,然后我可以将其嵌入到更大的应用程序中。
我该怎么办?
是否可以使用COleControl
子类代替CSingleDocTemplate
中的CFrameWnd
子类?或者我是否需要以某种方式将 CFrameWnd
子类放置在 COleControl
中?
如果做不到这一点,我如何在 ActiveX 控件中使用现有的 CDocument\CView
子类?
最佳答案
回答我自己的问题:我发现很多关于此问题的旧文章的引用,该文章曾经位于 http://www.microsoft.com/mind/0497/mfc.asp但早已消失。 :(
幸运的是,Wayback Machine仍然有它的完整拷贝:
Steve 展示了两个新类的源代码:
CActiveXDocTemplate
: CSingleDocTemplate
的子类
CActiveXDocControl
: COleControl
的子类
这允许我使用现有的 CView
和 CDocument
ActiveX 控件中的子类。
(感谢史蒂夫,无论你现在身在何处)
关于c++ - 将简单的 MFC CView/CDocument/CSingleDocTemplate 应用程序转换为 ActiveX 控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5343473/