Поделиться через


Класс CDocObjectServerItem

Реализует команды OLE-сервера специально для серверов DocObject.

Синтаксис

class CDocObjectServerItem : public COleServerItem

Участники

Защищенные конструкторы

Имя Описание
CDocObjectServerItem::CDocObjectServerItem Формирует объект CDocObjectServerItem.

Открытые методы

Имя Описание
CDocObjectServerItem::GetDocument Извлекает указатель на документ, содержащий элемент.

Защищенные методы

Имя Описание
CDocObjectServerItem::OnDoVerb Вызывается для выполнения команды.
CDocObjectServerItem::OnHide Создает исключение, если платформа пытается скрыть элемент DocObject.
CDocObjectServerItem::OnShow Вызывается платформой для активного элемента DocObject. Если элемент не является DocObject, вызывает COleServerItem::OnShow.

Замечания

CDocObjectServerItem определяет переопределиваемые функции-члены: OnHide, OnDoVerb и OnShow.

Чтобы использовать CDocObjectServerItem, убедитесь, что переопределение OnGetEmbeddedItem в COleServerDocпроизводном классе возвращает новый CDocObjectServerItem объект. Если вам нужно изменить какие-либо функции в элементе, можно создать новый экземпляр собственного CDocObjectServerItemпроизводного класса.

Дополнительные сведения о DocObjects см. в разделе CDocObjectServer и COleCmdUI в справочнике по MFC.

Иерархия наследования

CObject

CCmdTarget

CDocItem

Coleserveritem

CDocObjectServerItem

Требования

Заголовок: afxdocob.h

CDocObjectServerItem::CDocObjectServerItem

Формирует объект CDocObjectServerItem.

CDocObjectServerItem(COleServerDoc* pServerDoc, BOOL bAutoDelete);

Параметры

pServerDoc
Указатель на документ, содержащий новый элемент DocObject.

bAutoDelete
Указывает, можно ли удалить объект при выпуске ссылки на нее. Задайте для аргумента значение FALSE, если CDocObjectServerItem объект является неотъемлемой частью данных документа. Задайте значение TRUE, если объект является вторичной структурой, используемой для идентификации диапазона данных документа, которые можно удалить платформой.

CDocObjectServerItem::GetDocument

Извлекает указатель на документ, содержащий элемент.

COleServerDoc* GetDocument() const;

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

Указатель на документ, содержащий элемент; ЗНАЧЕНИЕ NULL, если элемент не является частью документа.

Замечания

Это позволяет получить доступ к серверу документа, переданного в качестве аргумента конструктору CDocObjectServerItem .

CDocObjectServerItem::OnDoVerb

Вызывается платформой для выполнения указанной команды.

virtual void OnDoVerb(LONG iVerb);

Параметры

iVerb
Указывает выполняемую команду. Возможные значения см. в разделе IOleObject::D oVerb в пакете SDK для Windows.

Замечания

Реализация по умолчанию вызывает функцию-член OnShow , если элемент является DocObject и указан OLEIVERB_INPLACEACTIVATE или OLEIVERB_SHOW. Если элемент не является документом DocObject или другой командой, реализация по умолчанию вызывает COleServerItem::OnDoVerb.

CDocObjectServerItem::OnHide

Вызывается платформой для скрытия элемента.

virtual void OnHide();

Замечания

Реализация по умолчанию вызывает исключение, если элемент является DocObject. Не удается скрыть активный элемент DocObject, так как он принимает весь вид. Чтобы он исчез, необходимо отключить элемент DocObject. Если элемент не является DocObject, реализация по умолчанию вызывает COleServerItem::OnHide.

CDocObjectServerItem::OnShow

Вызывается платформой для указания серверного приложения сделать элемент DocObject активным на месте.

virtual void OnShow();

Замечания

Если элемент не является DocObject, реализация по умолчанию вызывает COleServerItem::OnShow. Переопределите эту функцию, если вы хотите выполнить специальную обработку при открытии элемента DocObject.

См. также

Класс COleServerItem
Диаграмма иерархии
Класс CDocObjectServer
Класс COleDocObjectItem