COleDocObjectItem 类

实现活动文档包容。

语法

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

调用此成员函数以初始化 COleDocObjectItem 对象。

COleDocObjectItem(COleDocument* pContainerDoc = NULL);

参数

pContainerDoc
指向充当活动文档容器的 COleDocument 对象的指针。 此参数必须为 NULL 才能启用 IMPLEMENT_SERIALIZE。 通常,OLE 项是使用非 NULL 文档指针构造的。

COleDocObjectItem::DoDefaultPrinting

由框架针对使用默认设置的文档进行调用。

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;否则返回以下错误代码之一。

说明
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;否则为 0。

COleDocObjectItem::OnPreparePrinting

此成员函数由框架调用,以准备要打印的文档。

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

参数

pCaller
指向正在发送打印命令的 CView 对象的指针。

pInfo
指向描述要打印的作业的 CPrintInfo 对象的指针。

bPrintAll
指定是否打印整个文档。

返回值

如果成功,则不为 0;否则为 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 类