分享方式:


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

如需功能表合併和使用中文件啟用的詳細資訊,請參閱使用中檔內含專案概

繼承階層架構

CObject

CCmdTarget

CDocItem

COleClientItem

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 使用者已取消執行。

備註

pguidCmdGroupnCmdID 參數會唯一識別要叫用的命令。 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 類別