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


Метод IOleInPlaceObject::SetObjectRects (oleidl.h)

Указывает, какая часть объекта на месте должна быть видимой.

Синтаксис

HRESULT SetObjectRects(
  [in] LPCRECT lprcPosRect,
  [in] LPCRECT lprcClipRect
);

Параметры

[in] lprcPosRect

Указатель на структуру RECT , содержащую положение объекта на месте, используя клиентские координаты его родительского окна.

[in] lprcClipRect

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

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

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

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

Комментарии

Можно изменить lprcClipRect без изменения lprcPosRect .

Размер прямоугольника объекта на месте всегда вычисляется в пикселях. Это отличается от визуализаций других объектов OLE, которые находятся в HIMETRIC.

Примечание При выполнении IOleInPlaceObject::SetObjectRects не выполняйте вызовы функций PeekMessage , GetMessage или диалогового окна. Это может привести к взаимоблокировки системы. Существуют дополнительные ограничения, на которые можно вызывать методы и функции интерфейса OLE из IOleInPlaceObject::SetObjectRects.
 

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

Контейнер должен вызывать IOleInPlaceObject::SetObjectRects при изменении положения окна объекта на месте и (или) видимой части объекта на месте.

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

Объект должен иметь размер своего окна на месте в соответствии с пересечением lprcPosRect и lprcClipRect. Объект также должен рисовать свое содержимое в окне объекта на месте, чтобы обеспечить правильную обрезку.

Объект должен сравнивать свою ширину и высоту с теми, которые предоставляются его контейнером (передаются через lprcPosRect). Если сравнение не приводит к совпадению, контейнер применяет масштабирование к объекту . Затем объект должен решить, следует ли продолжить редактирование на месте в режиме масштабирования или масштаба или деактивировать.

Требования

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

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

GetMessage

IOleInPlaceObject

IOleInPlaceSite::OnPosRectChange

PeekMessage