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


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

Указывает представлению документа закрыться и освободить указатель IOleInPlaceSite .

Синтаксис

HRESULT CloseView(
  [in] DWORD dwReserved
);

Параметры

[in] dwReserved

Этот параметр зарезервирован и не может иметь значение NULL.

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

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

Комментарии

Если отдельное окно больше не требуется, контейнер вызывает IOleDocumentView::CloseView, после чего представление освобождает указатель сайта на отдельное окно и уничтожает окно. В отличие от обычной последовательности деактивации на месте для активных документов, представление документа по-прежнему содержит указатель IOleInPlaceSite . Этот указатель освобождается только в том случае, если контейнер представления вызывает SetInPlaceSite, а для pIPSite задано значение NULL или вызывает IOleDocumentView::CloseView.

Когда пользователь закрывает отдельное окно представления, представление не должно завершать работу. Вместо этого он должен вызывать IOleInPlaceSite::OnInPlaceActivate. Затем сайт представления решает, следует ли вызывать IOleDocumentView::UIActivate с false немедленно или более поздней версии. Таким образом, представление документа, отображаемое в отдельном окне, остается доступным для активации в собственном окне контейнера.

Контейнер должен вызвать этот метод перед удалением представления, то есть освобождает последнюю ссылку на представление. Как правило, реализация этого метода вызывает IOleDocumentView::Show с false , чтобы скрыть представление, если оно еще не скрыто, а затем вызовет SetInPlaceSite с null , чтобы отключить себя и освободить указатель сайта представления.

Так как IOleDocumentView::CloseView вызывается, когда контейнер собирается полностью завершить работу представления, этот метод должен быть реализован и не имеет причин для сбоя.

Требования

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

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

IOleDocumentView

IOleDocumentView::SetInPlaceSite

IOleDocumentView::Show