Класс 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
.
Дополнительные сведения о слиянии меню и активации активного документа см. в разделе "Обзор активного хранения документов".
Иерархия наследования
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 в случае успешного выполнения; в противном случае возвращает один из следующих кодов ошибок.
значение | Описание |
---|---|
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