Метод IOleInPlaceObject::UIDeactivate (oleidl.h)
Деактивирует и удаляет пользовательский интерфейс активного объекта на месте.
Синтаксис
HRESULT UIDeactivate();
Возвращаемое значение
Этот метод возвращает значение S_OK при успешном завершении. Другие возможные возвращаемые значения включают следующее.
Код возврата | Описание |
---|---|
|
Произошла непредвиденная ошибка. |
Комментарии
Примечания к вызывающим абонентам
Этот метод вызывается непосредственным контейнером объекта, если, например, пользователь щелкнул клиентскую область за пределами объекта.Если контейнер вызвал IOleInPlaceObject::UIDeactivate, он должен вызвать IOleInPlaceObject::InPlaceDeactivate для правильной очистки ресурсов. Контейнер может предположить, что остановка или освобождение объекта при необходимости очищает ресурсы. Объект должен быть подготовлен для этого, если не был вызван метод IOleInPlaceObject::InPlaceDeactivate . но был вызван либо IOleInPlaceObject::UIDeactivate , либо IOleObject::Close .
Примечания для разработчиков
Такие ресурсы, как меню и окна, можно очистить или сохранить в скрытом состоянии, пока объект не будет полностью отключен вызовами IOleInPlaceObject::InPlaceDeactivate или IOleObject::Close. Приложение объекта должно вызвать IOleInPlaceSite::OnUIDeactivate перед выполнением каких-либо действий с составными меню, чтобы контейнер можно было сначала отсоединить от окна фрейма. При деактивации пользовательского интерфейса объекта на месте объект остается в состоянии готовности, чтобы его можно было быстро активировать повторно. Объект остается в этом состоянии до тех пор, пока не изменится состояние отмены документа. Затем контейнер должен вызвать IOleInPlaceObject::InPlaceDeactivate , чтобы сообщить объекту отменить его состояние отмены.Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | oleidl.h |
См. также раздел
IOleInPlaceObject::InPlaceDeactivate
IOleInPlaceObject::ReactivateAndUndo