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


Функция OleDraw (ole2.h)

Упрощает рисование объектов. Его можно использовать вместо вызова IViewObject::D raw напрямую.

Синтаксис

HRESULT OleDraw(
  [in] LPUNKNOWN pUnknown,
  [in] DWORD     dwAspect,
  [in] HDC       hdcDraw,
  [in] LPCRECT   lprcBounds
);

Параметры

[in] pUnknown

Указатель на интерфейс IUnknown в объекте представления, который должен быть нарисован.

[in] dwAspect

Способ представления объекта. К представлениям относятся содержимое, значок, эскиз или печатный документ. Возможные значения берутся из перечисления DVASPECT .

[in] hdcDraw

Контекст устройства в котором требуется выполнить рисование. Не может быть контекстом устройства метафайла.

[in] lprcBounds

Указатель на структуру RECT , задающий прямоугольник, в котором должен быть нарисован объект. Этот параметр преобразуется в структуру RECTL и передается в IViewObject::D raw.

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

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

Код возврата Описание
OLE_E_BLANK
Нет данных для получения.
E_ABORT
Операция рисования была прервана.
VIEW_E_DRAW
Нет данных для получения.
OLE_E_INVALIDRECT
Прямоугольник недопустим.
E_INVALIDARG
Один или несколько параметров являются недопустимыми.
E_OUTOFMEMORY
Недостаточно памяти для операции.
DV_E_NOIVIEWOBJECT
Объект не поддерживает интерфейс IViewObject .

Комментарии

Вспомогательная функция OleDraw вызывает метод QueryInterface для указанного объекта (pUnk), запрашивая интерфейс IViewObject для этого объекта. Затем OleDraw преобразует структуру RECT в структуру RECTL и вызывает IViewObject::D raw следующим образом:

lpViewObj->Draw(dwAspect,-1,0,0,0,hdcDraw,&rectl,0,0,0);

Не используйте эту функцию для рисования в метафайл, так как в ней не указан параметр, необходимый для рисования в метафайлы.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header ole2.h (включая Ole2.h)
Библиотека Ole32.lib
DLL Ole32.dll
Набор API ext-ms-win-com-ole32-l1-1-3 (представлен в Windows 10 версии 10.0.10240)

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

IViewObject::D raw