OleDraw function (ole.h)

Enables drawing objects more easily. You can use it instead of calling IViewObject::Draw directly.

Syntax

OLESTATUS OleDraw(
  LPOLEOBJECT unnamedParam1,
  HDC         unnamedParam2,
  const RECT  *unnamedParam3,
  const RECT  *unnamedParam4,
  HDC         unnamedParam5
);

Parameters

unnamedParam1

TBD

unnamedParam2

TBD

unnamedParam3

TBD

unnamedParam4

TBD

unnamedParam5

TBD

Return value

This function returns S_OK on success. Other possible values include the following.

Return code Description
OLE_E_BLANK
No data to draw from.
E_ABORT
The draw operation was aborted.
VIEW_E_DRAW
No data to draw from.
OLE_E_INVALIDRECT
The rectangle is invalid.
E_INVALIDARG
One or more parameters are invalid.
E_OUTOFMEMORY
Insufficient memory for the operation.
DV_E_NOIVIEWOBJECT
The object doesn't support the IViewObject interface.

Remarks

The OleDraw helper function calls the QueryInterface method for the object specified (pUnk), asking for an IViewObject interface on that object. Then, OleDraw converts the RECT structure to a RECTL structure, and calls IViewObject::Draw as follows:

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

Do not use this function to draw into a metafile because it does not specify the parameter required for drawing into metafiles.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header ole.h (include Ole2.h)
Library Ole32.lib
DLL Ole32.dll
API set ext-ms-win-com-ole32-l1-1-3 (introduced in Windows 10, version 10.0.10240)

See also

IViewObject::Draw