COleDocObjectItem 類別
實作主動式文件內含項目。
語法
class COleDocObjectItem : public COleClientItem
成員
公用建構函式
名稱 | 描述 |
---|---|
COleDocObjectItem::COleDocObjectItem | COleDocObject 建構專案。 |
公用方法
名稱 | 描述 |
---|---|
COleDocObjectItem::D oDefaultPrinting | 使用預設印表機設定列印容器應用程式的檔案。 |
COleDocObjectItem::ExecCommand | 執行使用者指定的命令。 |
COleDocObjectItem::GetActiveView | 擷取檔的作用中檢視。 |
COleDocObjectItem::GetPageCount | 擷取容器應用程式檔中的頁面數目。 |
COleDocObjectItem::OnPreparePrinting | 準備容器應用程式的檔以進行列印。 |
COleDocObjectItem::OnPrint | 列印容器應用程式的檔案。 |
COleDocObjectItem::QueryCommand | 查詢使用者介面事件所產生之一或多個命令的狀態。 |
COleDocObjectItem::Release | 釋放與 OLE 連結項目的連線,並在開啟時將其關閉。 不會終結客戶端專案。 |
備註
在 MFC 中,使用中檔會以類似一般就地可編輯的內嵌處理方式,但有下列差異:
COleDocument
衍生類別仍會維護目前內嵌專案的清單;不過,這些專案可能是COleDocObjectItem
衍生的專案。使用中檔使用中時,它會在就地使用中時佔用檢視的整個工作區。
使用中檔容器具有 [說明] 功能表的完整控制權。
[ 說明 ] 功能表包含使用中檔案容器和伺服器的功能表項。
因為使用中檔容器擁有 [說明] 功能表,因此容器會負責將伺服器說明功能表訊息轉送至伺服器。 此整合是由處理 COleDocObjectItem
。
如需功能表合併和使用中文件啟用的詳細資訊,請參閱使用中檔內含專案概 觀。
繼承階層架構
COleDocObjectItem
需求
標頭: afxole.h
COleDocObjectItem::COleDocObjectItem
呼叫這個成員函式來初始化 COleDocObjectItem
物件。
COleDocObjectItem(COleDocument* pContainerDoc = NULL);
參數
pContainerDoc
做為使用中檔容器之物件的指標 COleDocument
。 此參數必須是 NULL,才能啟用IMPLEMENT_SERIALIZE。 通常 OLE 專案是使用非 NULL 檔指標來建構。
COleDocObjectItem::D oDefaultPrinting
使用預設設定,由架構呼叫至檔。
static HRESULT DoDefaultPrinting(
CView* pCaller,
CPrintInfo* pInfo);
參數
pCaller
傳送列印命令之 CView 物件的指標。
pInfo
CPrintInfo 物件的指標,描述要列印的工作。
COleDocObjectItem::ExecCommand
呼叫此成員函式以執行使用者指定的命令。
HRESULT ExecCommand(
DWORD nCmdID,
DWORD nCmdExecOpt = OLECMDEXECOPT_DONTPROMPTUSER,
const GUID* pguidCmdGroup = NULL);
參數
nCmdID
要執行的命令標識碼。 必須位於 pguidCmdGroup 所識別的群組中。
nCmdExecOpt
指定命令執行選項。 根據預設,將 設定為執行 命令,而不提示使用者。 如需值清單,請參閱 OLECMDEXECOPT 。
pguidCmdGroup
命令群組的唯一標識碼。 根據預設,NULL 會指定標準群組。 傳入 nCmdID 的命令必須屬於群組。
傳回值
如果成功,則傳回S_OK;否則,會傳回下列其中一個錯誤碼。
值 | Description |
---|---|
E_UNEXPECTED | 發生未預期的錯誤。 |
E_FAIL | 發生錯誤。 |
E_NOTIMPL | 表示 MFC 本身應該嘗試轉譯並分派命令。 |
OLECMDERR_E_UNKNOWNGROUP | pguidCmdGroup 不是 NULL,但未指定可辨識的命令群組。 |
OLECMDERR_E_NOTSUPPORTED | nCmdID 無法辨識為群組 pGroup 中的有效命令。 |
OLECMDERR_DISABLED | nCmdID 所識別的命令已停用且無法執行。 |
OLECMDERR_NOHELP | 呼叫端在 nCmdID 所識別的命令上要求說明,但沒有可用的說明。 |
OLECMDERR_CANCELLED | 使用者已取消執行。 |
備註
pguidCmdGroup 和 nCmdID 參數會唯一識別要叫用的命令。 nCmdExecOpt 參數會指定要採取的確切動作。
COleDocObjectItem::GetActiveView
呼叫這個成員函式,以取得目前使用中檢視介面的指標 IOleDocumentView
。
LPOLEDOCUMENTVIEW GetActiveView() const;
傳回值
目前使用中檢視之 IOleDocumentView 介面的指標。 如果沒有目前的檢視,則會傳回 NULL。
備註
傳回 IOleDocumentView
指標的參考計數不會遞增,然後這個函式才會傳回。
COleDocObjectItem::GetPageCount
呼叫這個成員函式以擷取檔中的頁面數目。
BOOL GetPageCount(
LPLONG pnFirstPage,
LPLONG pcPages);
參數
pnFirstPage
檔第一頁編號的指標。 可以是 NULL,表示呼叫端不需要此號碼。
pcPages
檔中總頁數的指標。 可以是 NULL,表示呼叫端不需要此號碼。
傳回值
如果成功則為非零;否則為 0。
COleDocObjectItem::OnPreparePrinting
架構會呼叫此成員函式,以準備檔以供列印。
static BOOL OnPreparePrinting(
CView* pCaller,
CPrintInfo* pInfo,
BOOL bPrintAll = TRUE);
參數
pCaller
傳送列印命令之 CView 物件的指標。
pInfo
CPrintInfo 物件的指標,描述要列印的工作。
bPrintAll
指定是否要列印整份檔。
傳回值
如果成功則為非零;否則為 0。
COleDocObjectItem::OnPrint
架構會呼叫此成員函式來列印檔。
static void OnPrint(
CView* pCaller,
CPrintInfo* pInfo,
BOOL bPrintAll = TRUE);
參數
pCaller
傳送列印命令之 CView 物件的指標。
pInfo
CPrintInfo 物件的指標,描述要列印的工作。
bPrintAll
指定是否要列印整份檔。
COleDocObjectItem::QueryCommand
查詢使用者介面事件所產生之一或多個命令的狀態。
HRESULT QueryCommand(
ULONG nCmdID,
DWORD* pdwStatus,
OLECMDTEXT* pCmdText =NULL,
const GUID* pguidCmdGroup =NULL);
參數
nCmdID
要查詢之命令的識別碼。
pdwStatus
查詢結果所傳回之旗標的指標。 如需可能值的清單,請參閱 OLECMDF。
pCmdText
要在其中傳回單一命令之名稱和狀態資訊的 OLECMDTEXT 結構的指標。 可為 NULL,表示呼叫端不需要這項資訊。
pguidCmdGroup
命令群組的唯一標識符;可以是 NULL 以指定標準群組。
傳回值
如需傳回值的完整清單,請參閱 Windows SDK 中的 IOleCommandTarget::QueryStatus 。
備註
此成員函式會模擬 IOleCommandTarget::QueryStatus 方法的功能,如 Windows SDK 中所述。
COleDocObjectItem::Release
釋放與 OLE 連結項目的連線,並在開啟時將其關閉。 不會終結客戶端專案。
virtual void Release(OLECLOSE dwCloseOption = OLECLOSE_NOSAVE);
參數
dwCloseOption
旗標,指定在何時儲存 OLE 專案回到載入狀態時。 如需可能值的清單,請參閱 COleClientItem::Close。
備註
不會終結客戶端專案。
另請參閱
MFC 範例 MFCBIND
COleClientItem 類別
階層架構圖表
COleClientItem 類別
CDocObjectServerItem 類別