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
处理。
有关菜单合并和活动文档激活的详细信息,请参阅活动文档包容概述。
继承层次结构
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 类