COleDocument從CDocument派生來,這使你的OLE應用程式能夠使用由微軟基礎類庫提供的文檔/視結構。
COleDocument將文檔當作一個處理OLE項的CDocItem對象的集合。容器和伺服器套用都需要這樣的結構,因為它們的文檔必須能夠包容OLE項。類COleServerItem和類COleClientItem都從CDocItem派生而來,它們管理應用程式與OLE項之間的相互作用。
如果你正在編寫一個簡單的容器應用程式,最好從COleDocument派生出你的文檔類。如果你正在編寫一個支持連結到文檔包含的嵌入項的容器應用程式,最好從COleLinkingDoc派生出你的文檔類。如果你正在編寫一個伺服器應用程式或者是組合容器/伺服器,最好從COleServerDoc派生出你的文檔類。COleLinkingDoc和COleServerDoc是從COleDocument派生而來的,因此這些類繼承了所有在COleDocument和CDocument中具有的服務。
要使用COleDocument,可以從它派生出一個類,並添加一些功能用來管理套用中除嵌入或連結項外的其它非OLE數據。如果你將從CDocItem派生而來的類定義為用來保存套用的內部數據,你可以使用由COleDocument定義的工具來保存你的OLE數據和非OLE數據。也可以設計你自己的數據結構來保存你的非OLE數據,以區別於你的OLE 項。更多的信息,參見“Visual C++程式設計師指南”一書中的文章“容器:複合檔案”。
如果提供了郵件支持(MAPI)的話,CDocument支持將你的文檔通過郵件傳送。COleDocument已經更新了OnFileSendMail,可以正確處理捆綁在一起的文檔。更多的信息,參見“Visual C++程式設計師指南”一書中的文章“MAPI主題”和“MFC中的MAPI支持”。
#include <afxole.h>
COleDocument類成員
構造
COleDocument | 構造一個COleDocument對象 |
操作
HasBlankItems | 檢查文檔中的空項 |
EnableCompoundFile | 使文檔能夠被用OLE結構保存檔案格式來保存 |
GetInPlaceActiveItem | 返回當前正處於活動狀態的OLE項 |
GetStartPosition | 獲得開始重複的初始位置 |
GetNextItem | 獲取下一個要重複的文檔項 |
GetNextClientItem | 獲取下一個要重複的客戶項 |
GetNextServerItem | 獲取下一個要重複的伺服器項 |
UpdateModifiedFlag | 如果任何一個被包容的OLE項被修改,則標記該文檔為已被修改 |
ApplyPrintDevice | 為文檔中的所有客戶項設定列印目標設備 |
AddItem | 向文檔保持的項列表中添加一個項 |
RemoveItem | 從文檔保持的項列表中移走一個項 |
重載
GetPrimarySelectedItem | 返回文檔中最初選擇的OLE項 |
OnShowViews | 在文檔變為可見和不可見時被調用 |
郵件函式
OnFileSendMail | 傳送一個附著有文檔的郵件訊息 |
訊息處理
OnEditChangeIcon | 處理Change Icon選單命令中的事件 |
OnEditConvert | 處理一個嵌入或連結對象從一種類型到另一種類型的轉換 |
OnEditLinks | 處理Edit選單上的Links命令中的事件 |
訊息處理
OnUpdateEditChangeIcon | 由框架調用來更新Edit/Change Icon選單選項的命令UI |
OnUpdateEditLinksMenu | 由框架調用來更新Edit/Links選單選項的命令UI |
OnUpdateObjectVerbMenu | 由框架調用來更新Edit/Object Name選單選項和從Edit/ObjectName訪問的Verb子選單的命令UI |
訊息處理
OnUpdatePasteLinkMenu | 由框架調用來更新Paste Special選單選項的命令UI |
OnUpdatePasteMenu | 由框架調用來更新Paste選單選項的命令UI |