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


Метод IOleObject::GetExtent (oleidl.h)

Извлекает текущий размер отображения выполняющихся объектов.

Синтаксис

HRESULT GetExtent(
  [in]  DWORD dwDrawAspect,
  [out] SIZEL *psizel
);

Параметры

[in] dwDrawAspect

Аспект объекта, ограничение которого требуется извлечь; значение получается из перечислений DVASPECT и из DVASPECT2. Обратите внимание, что новые объекты и контейнеры, поддерживающие оптимизированные интерфейсы рисования, поддерживают значения перечисления DVASPECT2 . Старые объекты и контейнеры, которые не поддерживают оптимизированные интерфейсы рисования, могут не поддерживать DVASPECT2. Наиболее распространенным значением этого метода является DVASPECT_CONTENT, который указывает полную отрисовку объекта в контейнере.

[out] psizel

Указатель на то место, куда должен быть возвращен размер объекта.

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

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

Код возврата Описание
E_INVALIDARG
Предоставленное значение dwDrawAspect недопустимо.

Комментарии

Контейнер вызывает IOleObject::GetExtent для выполняющегося объекта, чтобы получить его текущий размер отображения. Если контейнер может вместить этот размер, он обычно делает это, так как объект, в конце концов, знает, какой размер он должен быть лучше, чем контейнер. Контейнер обычно выполняет этот вызов в рамках инициализации объекта.

Размер отображения, возвращаемый методом IOleObject::GetExtent , может отличаться от размера, последнего заданного IOleObject::SetExtent , так как последний метод определяет пространство для отображения объекта во время вызова метода, но не обязательно изменяет собственный размер объекта, как определено его приложением.

Если в dwAspect запрашивается один из новых аспектов, этот метод может либо завершиться ошибкой, либо вернуть тот же прямоугольник, что и для DVASPECT_CONTENT аспекта.

Примечание Этот метод должен возвращать тот же размер, что и DVASPECT_CONTENT для всех новых аспектов в DVASPECT2. IViewObject2::GetExtent должен сделать то же самое.
 

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

Так как контейнер может выполнять этот вызов только к выполняющемся объекту, контейнер должен вместо этого вызвать IViewObject2::GetExtent , если он хочет получить размер отображения загруженного объекта из кэша.

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

Реализация состоит из заполнения сайзальной структуры высотой и шириной объекта.

Требования

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

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

DVASPECT

DVASPECT2

IOleObject

IOleObject::GetExtent

IOleObject::SetExtent