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


Метод IOleDocumentView::Open (docobj.h)

Отображает представление документа в отдельном всплывающем окне. Семантика эквивалентна IOleObject::D oVerb с OLEIVERB_OPEN.

Синтаксис

HRESULT Open();

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

Этот метод возвращает значение S_OK при успешном завершении. Другие возможные возвращаемые значения включают следующее.

Код возврата Описание
E_FAIL
Операция не удалась.
E_OUTOFMEMORY
Недостаточно памяти, доступной для операции.
E_UNEXPECTED
Произошла непредвиденная ошибка.
E_NOTIMPL
Объект документа, которому принадлежит это представление, не поддерживает активацию отдельного окна.

Комментарии

Пользователь, просматривающий объект документа в приложении-контейнере, например в браузере или "связыватель", может захотеть одновременно просмотреть два или более представлений или документов. Так как в браузере одновременно отображается только одно представление, контейнеру требуется способ запросить отображение других представлений или документов в отдельных окнах. Метод IOleDocumentView::Open предоставляет этот способ.

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

После успешного вызова IOleDocumentView::Open должен следовать вызов IOleDocumentView::Show , чтобы скрыть окно или отобразить его и перевести его на передний план. Хотя представление активно в отдельном окне, контейнер может отображать или скрывать окно столько раз, сколько может потребоваться.

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

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

Реализация состоит в основном из объекта представления, вызывающего собственный метод IOleInPlaceObject::InPlaceDeactivate , который оставляет объект документа в состоянии выполнения, но без активации на месте. Пользовательский интерфейс объекта документа не отображается, пока контейнер не вызовет IOleDocumentView::Show (см. примечания к вызывающим объектам выше).

Требования

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

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

IOleDocumentView

IOleDocumentView::CloseView

IOleDocumentView::Show

IOleDocumentView::UIActivate

IOleInPlaceObject::InPlaceDeactivate

IOleInPlaceSite

IOleInPlaceSite::OnInPlaceActivate