2010-07-21 61 views
1

我開發了一個使用MFC的桌面應用程序,它具有FILE,EDIT,VIEW和HELP選項,還有一支筆在打開的文檔上寫入,並保存爲test1。它允許我只打開test1或test2等。除了這些類型的文件,如果我想打開PPT或PDF,我該怎麼辦?VC++中的MFC應用程序

打開文件的代碼是由Visual Studio 2008自動生成的。現在我需要修改相同的代碼。

+0

「用一支筆」???請解釋,可能在翻譯中丟失。我認爲你首先需要提高你在MFC/C++中的技能;其次是檢查什麼是需要打開這些文件格式,它可能不像看起來那麼簡單(我從來沒有想過它)。 祝你好運。 最大。 – Max 2010-07-21 11:19:12

回答

0

這是微軟不提供任何奇才(至少不是直接)。基本思想是你必須爲新的文件類型創建和添加新的文檔和視圖類。然後,您需要將文檔字符串添加到字符串表以描述文件擴展名與文檔/視圖類之間的關聯。然後,使用添加到字符串表中的字符串在應用程序類中註冊每個文檔/視圖對。

到目前爲止,最簡單的方法是在另一個應用程序中生成文檔,視圖和字符串,從該應用程序中獲取文檔,視圖,註冊字符串和註冊碼,並將它們放入應用程序。然後爲下一個文件擴展名生成另一個一次性應用程序。

這給你一個每個文件擴展名的骨架文檔/視圖。從那裏開始,您可以編寫代碼來實際打開,顯示,編輯,保存等類型的文件。對於PDF或者(特別是)PPT來說,這並不是微不足道的,除非你「委派」並使用類似ActiveX控件的東西來完成真正的工作。如果你想這樣做,Adobe ActiveX控件工作得相當好(功能有限,但它在Web瀏覽器中顯示的基本上與PDF相同)。 Offhand我不記得MS是否提供了用於查看PPT文件的ActiveX控件。有一個免費的PPT查看器,但如果內存服務它是一個可執行文件,而不是控件。