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


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

Активирует или отключает элементы пользовательского интерфейса представления документа, такие как меню, панели инструментов и ускорители.

Синтаксис

HRESULT UIActivate(
  [in] BOOL fUIActivate
);

Параметры

[in] fUIActivate

Если задано значение TRUE, представление активирует свой пользовательский интерфейс. Если значение РАВНО FALSE, представление будет деактивировать свой пользовательский интерфейс.

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

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

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

Комментарии

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

Вызов этого метода перед вызовом IOleDocumentView::SetInPlaceSite возвращает E_UNEXPECTED, так как представление должно быть связано с сайтом представления, прежде чем оно сможет активировать себя.

При вызове IOleDocumentView::UIActivate в рамках последовательности активации вызов должен предшествовать вызову IOleDocumentView::SetRect или IOleDocumentView::SetRectComplex, так как в противном случае измерения представления не будут учитывать пространство панели инструментов.

Чтобы отключить представление, контейнер должен вызвать IOleDocumentView::Show с false, а затем IOleDocumentView::UIActivate с false.

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

Реализации этого метода должны содержать следующий псевдокод.
if (fActivate)
    {
    UI activate the view (do menu merging, show frame level tools, process accelerators)
    Take focus, and bring the view window forward.
    }
else
    call IOleInPlaceObject::UIDeactivate on this view

Кроме того, представление может и должно участвовать в расширенном слиянии меню справки .

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

Требования

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

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

IOleDocumentView

IOleDocumentView::SetInPlaceSite

IOleDocumentView::SetRect

IOleDocumentView::SetRectComplex

IOleDocumentView::Show