COleDocObjectItem Class

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

實作主動式文件內含項目。

class COleDocObjectItem : public COleClientItem  

公用建構函式

名稱說明
COleDocObjectItem::COleDocObjectItem建構COleDocObject項目。

公用方法

名稱描述
COleDocObjectItem::DoDefaultPrinting列印使用預設的印表機設定的容器應用程式的文件。
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(COleDocument* pContainerDoc = NULL);

參數

pContainerDoc
指標COleDocument做為主動式文件容器的物件。 這個參數必須是NULL啟用IMPLEMENT_SERIALIZE。 通常將 OLE 項目建構與非NULL文件指標。

使用預設設定的文件的架構所呼叫。

static HRESULT DoDefaultPrinting(
    CView* pCaller,  
    CPrintInfo* pInfo);

參數

pCaller
指標CView傳送列印命令的物件。

pInfo
指標CPrintInfo物件,描述列印工作。

呼叫此成員函式,來執行命令,使用者所指定。

HRESULT ExecCommand(
    DWORD nCmdID,  
    DWORD nCmdExecOpt = OLECMDEXECOPT_DONTPROMPTUSER,  
    const GUID* pguidCmdGroup = NULL);

參數

nCmdID
要執行的命令識別項。 所識別的群組中必須是pguidCmdGroup

nCmdExecOpt
指定命令執行選項。 根據預設,設定,才能執行此命令不會提示使用者。 請參閱OLECMDEXECOPT值的清單。

pguidCmdGroup
命令群組的唯一識別碼。 根據預設, NULL,它會指定標準的群組。 命令傳遞nCmdID必須屬於該群組。

傳回值

傳回S_OK如果成功,否則傳回下列錯誤碼的其中一個。

說明
E_UNEXPECTED發生意外的錯誤。
E_FAIL發生錯誤。
E_NOTIMPL表示 MFC 本身應該嘗試轉譯和分派命令。
OLECMDERR_E_UNKNOWNGROUPpguidCmdGroup為非NULL ,但未指定可辨識的命令群組。
OLECMDERR_E_NOTSUPPORTEDnCmdID無法辨識為有效的命令群組 pGroup 中。
OLECMDERR_DISABLED由命令nCmdID已停用,無法執行。
OLECMDERR_NOHELP呼叫端所識別的指令上要求協助nCmdID但沒有說明。
OLECMDERR_CANCELLED使用者已取消執行。

備註

pguidCmdGroupnCmdID參數會共同唯一識別要叫用的命令。 nCmdExecOpt參數會指定要採取的確切動作。

若要取得的指標,此成員函式的呼叫IOleDocumentView目前使用中檢視的介面。

LPOLEDOCUMENTVIEW GetActiveView() const;  

傳回值

指標IOleDocumentView目前使用中檢視的介面。 如果有任何目前的檢視,則會傳回NULL

備註

針對傳回的參考計數IOleDocumentView指標這個函式傳回之前不會遞增。

呼叫此成員函式擷取的文件中的頁數。

BOOL GetPageCount(
    LPLONG pnFirstPage,  
    LPLONG pcPages);

參數

pnFirstPage
文件的第一頁的數目指標。 可以是NULL,表示呼叫端不需要這個數字。

pcPages
文件中的頁面總數的指標。 可以是NULL,表示呼叫端不需要這個數字。

傳回值

如果成功則為非零;否則為 0。

準備進行列印的文件架構會呼叫此成員函式。

static BOOL OnPreparePrinting(
    CView* pCaller,  
    CPrintInfo* pInfo,  
    BOOL bPrintAll = TRUE);

參數

pCaller
指標CView傳送列印命令的物件。

pInfo
指標CPrintInfo物件,描述列印工作。

bPrintAll
指定是否要列印整份文件。

傳回值

如果成功則為非零;否則為 0。

若要列印的文件架構會呼叫此成員函式。

static void OnPrint(
    CView* pCaller,  
    CPrintInfo* pInfo,  
    BOOL bPrintAll = TRUE);

參數

pCaller
正在傳送列印命令 CView 物件的指標。

pInfo
指標CPrintInfo物件,描述列印工作。

bPrintAll
指定是否要列印整份文件。

查詢使用者介面事件所產生之一或多個命令的狀態。

HRESULT QueryCommand(
    ULONG nCmdID,  
    DWORD* pdwStatus,  
    OLECMDTEXT* pCmdText =NULL,  
    const GUID* pguidCmdGroup =NULL);

參數

nCmdID
要查詢的命令識別項。

pdwStatus
查詢結果傳回的旗標指標。 如需可能的值,請參閱OLECMDF

pCmdText
指標OLECMDTEXT結構,以傳回單一命令的名稱和狀態資訊。 可以是NULL ,表示呼叫端不需要這項資訊。

pguidCmdGroup
命令群組; 的唯一識別碼可以是NULL來指定標準的群組。

傳回值

傳回值的完整清單,請參閱IOleCommandTarget::QueryStatus中Windows SDK。

備註

此成員函式模擬的功能IOleCommandTarget::QueryStatus方法中所述Windows SDK。

釋放連接至 OLE 連結的項目並將它關閉,如果它已開啟。 不會終結的用戶端項目。

virtual void Release(OLECLOSE dwCloseOption = OLECLOSE_NOSAVE);

參數

dwCloseOption
指定要載入的狀態傳回時,OLE 項目儲存在哪些情況之下旗標。 如需可能的值,請參閱COleClientItem::Close

備註

不會終結的用戶端項目。

MFC 範例 MFCBIND
COleClientItem 類別
階層架構圖表
COleClientItem 類別
CDocObjectServerItem 類別

顯示: