Метод IOleInPlaceSite::GetWindowContext (oleidl.h)

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

Синтаксис

HRESULT GetWindowContext(
  [out]     IOleInPlaceFrame      **ppFrame,
  [out]     IOleInPlaceUIWindow   **ppDoc,
  [out]     LPRECT                lprcPosRect,
  [out]     LPRECT                lprcClipRect,
  [in, out] LPOLEINPLACEFRAMEINFO lpFrameInfo
);

Параметры

[out] ppFrame

Указатель на переменную указателя IOleInPlaceFrame , которая получает указатель интерфейса на кадр. При возникновении ошибки реализация должна присвоить ppFrame значение NULL.

[out] ppDoc

Указатель на переменную указателя IOleInPlaceUIWindow , которая получает указатель интерфейса на окно документа. Если окно документа совпадает с окном фрейма, параметру ppDoc присваивается значение NULL. В этом случае объект может использовать только ppFrame или согласование границ. Если возвращается ошибка, реализация должна присвоить ppDoc значение NULL.

[out] lprcPosRect

Указатель на структуру RECT для прямоугольника, содержащего положение объекта на месте в клиентских координатах его родительского окна. Если возвращается ошибка, для этого параметра необходимо задать значение NULL.

[out] lprcClipRect

Указатель на структуру RECT для внешнего прямоугольника, содержащего прямоугольник положения объекта на месте (lprcPosRect). Этот прямоугольник определяется относительно клиентской области родительского окна объекта. Если возвращается ошибка, для этого параметра необходимо задать значение NULL.

[in, out] lpFrameInfo

Указатель на структуру OLEINPLACEFRAMEINFO , в который контейнер входит заполнение соответствующими данными. Если возвращается ошибка, для этого параметра необходимо задать значение NULL.

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

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

Код возврата Описание
E_INVALIDARG
Один или несколько предоставленных указателей являются недопустимыми.
E_UNEXPECTED
Произошла непредвиденная ошибка.

Комментарии

Структура OLEINPLACEFRAMEINFO предоставляет данные, необходимые OLE для отправки ускорителей нажатия клавиш в кадр контейнера, пока объект активен на месте.

При активации объекта он вызывает GetWindowContext из своего контейнера. Контейнер возвращает дескриптор в таблицу ускорителей на месте через структуру OLEINPLACEFRAMEINFO . Перед вызовом GetWindowContext объект должен указать размер структуры OLEINPLACEFRAMEINFO , заполнив элемент cb, на который указывает lpFrameInfo.

Требования

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

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

IOleInPlaceSite