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


Метод IOleInPlaceUIWindow::SetActiveObject (oleidl.h)

Обеспечивает прямой канал связи между объектом и каждым окном фрейма и документа.

Синтаксис

HRESULT SetActiveObject(
  [in] IOleInPlaceActiveObject *pActiveObject,
  [in] LPCOLESTR               pszObjName
);

Параметры

[in] pActiveObject

Указатель на интерфейс IOleInPlaceActiveObject активного объекта на месте.

[in] pszObjName

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

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

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

Код возврата Описание
E_UNEXPECTED
Произошла непредвиденная ошибка.

Комментарии

Как правило, внедренный объект должен передавать значение NULL для параметра pszObjName (см. примечания для разработчиков ниже). Однако если вы работаете совместно с контейнером, который отображает имя активного объекта на месте в строке заголовка, следует создать строку в следующем виде: <имя> приложения — <короткое имя> объекта.

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

IOleInPlaceUIWindow::SetActiveObject вызывается объектом для установления прямой связи между собой и окнами документа и фрейма.

При деактивации объект вызывает IOleInPlaceUIWindow::SetActiveObject, передав значение NULL для параметров pActiveObject и pszObjName.

Объект должен вызвать IOleInPlaceUIWindow::SetActiveObject перед вызовом IOleInPlaceFrame::SetMenu , чтобы предоставить контейнеру указатель на активный объект. Затем контейнер использует этот указатель при обработке IOleInPlaceFrame::SetMenu и для передачи в OleSetMenuDescriptor.

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

Руководство по проектированию пользовательского интерфейса Microsoft Windows рекомендует игнорировать параметр pszObjName , переданный в этом методе, в контейнере на месте. В руководстве говорится: "Строка заголовка не влияет на активацию на месте. В нем всегда отображается имя контейнера верхнего уровня".

Требования

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

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

IOleInPlaceFrame::SetMenu

IOleInPlaceUIWindow

OleSetMenuDescriptor