2011-03-17 38 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子類。

(感謝史蒂夫無論你在哪裏)