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


Метод IOleDocumentSite::ActivateMe (docobj.h)

Запрашивает сайт документа для активации документа, выполняя вызов как объекта документа, а не объекта in-place-active, и при необходимости указывает, какое представление объектного документа следует активировать.

Синтаксис

HRESULT ActivateMe(
  [in] IOleDocumentView *pViewToActivate
);

Параметры

[in] pViewToActivate

Указатель на указатель интерфейса IOleDocumentView , представляющий представление документа, которое будет использоваться при активации объекта документа. Этот параметр может иметь значение NULL. В этом случае контейнер должен вызвать IOleDocument::CreateView , чтобы получить указатель на представление документа.

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

Этот метод возвращает значение S_OK при успешном завершении.

Комментарии

Когда контейнер вызывает IOleObject::D oVerb для активации документа, объект документа обходит обычную последовательность активации на месте, вызвав IOleDocumentSite::ActivateMe.

При вызове IOleObject::D oVerb для объекта документа наиболее подходящей командой активации обычно является OLEIVERB_SHOW. Другие допустимые глаголы включают OLEIVERB_PRIMARY и OLEIVERB_UIACTIVATE. OLEIVERB_OPEN не рекомендуется, так как это означает открытие внедренного объекта в отдельном окне, что противоречит намерению активации объекта документа.

Примечания к вызывающим абонентам

Только объекты document должны вызывать этот метод. Обычный активный документ на месте должен отвечать на вызов контейнера IOleObject::D oVerb путем вызова IOleInPlaceSite.

Объект документа должен инициировать активацию путем вызова IOleDocumentSite::ActivateMe. Если контейнер не реализует IOleDocumentSite, документ должен по умолчанию использовать обычную последовательность активации на месте.

Объект документа, поддерживающий несколько представлений данных, может указать, какое представление следует активировать, передав указатель на интерфейс IOleDocumentView этого представления в pViewToActivate.

Однако получен указатель IOleDocumentView , контейнер должен освободить указатель, когда он больше не нужен.

Примечания для разработчиков

Эта функция должна быть полностью реализована в контейнере объектов документа; E_NOTIMPL не является допустимым возвращаемым значением.

Если объект документа передает указатель IOleDocumentView в pViewToActivate, реализация IOleDocumentSite::ActivateMe контейнера должна вызвать IOleDocumentView::SetInPlaceSite и передать указатель на его интерфейс IOleInPlaceSite обратно в объект представления. Если контейнер удерживает указатель IOleDocumentView , как правило, он должен следовать вызову IOleDocumentView::SetInPlaceSite с вызовом IUnknown::AddRef.

Если pViewToActivate имеет значение NULL, контейнер может получить указатель на представление документа, запросив к документу IOleDocument, а затем вызвав IOleDocument::CreateView и передав его указатель IOleInPlaceSite .

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header docobj.h

См. также раздел

IOleClientSite

IOleDocument::CreateView

IOleDocumentSite

IOleDocumentView::SetInPlaceSite

IOleInPlaceSite

IOleObject::D oVerb