BUG: Iconic OLE Object Prints as Black Rectangle on PostScript (110796)



The information in this article applies to:

  • Microsoft OLE Libraries for Windows and Win32s 2.01

This article was previously published under Q110796

SYMPTOMS

Calling OleDraw() or IViewObject::Draw() to print an iconic OLE object to a PostScript printer results in a black rectangle being drawn.

CAUSE

Internally, the OLE DLLs (dynamic-link libraries) are using the DrawIcon() function to draw the icon. DrawIcon() requires the target device to support the SRCINVERT ROP (raster operation) code. PostScript does not support this particular ROP code.

RESOLUTION

An application can call OleDraw() or IViewObject::Draw() using a memory DC (device context). A bitmap of the memory DC can be retrieved, which can be used with the BitBlt() function to get the correct output to the printer.

STATUS

Microsoft has confirmed this to be a problem in the OLE Libraries version 2.01.

This is not a problem in 32-bit OLE.

Modification Type:MajorLast Reviewed:7/17/2001
Keywords:kb16bitonly kbDSupport KB110796