Класс 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 Пользователь отменил выполнение.

Замечания

Параметры 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, чтобы указать стандартную группу.

Возвращаемое значение

Полный список возвращаемых значений см. в разделе IOleCommandTarget::QueryStatus в пакете SDK для Windows.

Замечания

Эта функция-член эмулирует функциональные возможности метода IOleCommandTarget::QueryStatus , как описано в пакете SDK для Windows.

COleDocObjectItem::Release

Освобождает подключение к связанному элементу OLE и закрывает его, если он был открыт. Не уничтожает элемент клиента.

virtual void Release(OLECLOSE dwCloseOption = OLECLOSE_NOSAVE);

Параметры

dwCloseOption
Флаг, указывающий, в каких обстоятельствах элемент OLE сохраняется при возвращении в загруженное состояние. Список возможных значений см. в разделе COleClientItem::Close.

Замечания

Не уничтожает элемент клиента.

См. также

Пример MFC MFCBIND
Класс COleClientItem
Диаграмма иерархии
Класс COleClientItem
Класс CDocObjectServerItem