Microsoft KB Archive/110796

From BetaArchive Wiki
Knowledge Base


BUG: Iconic OLE Object Prints as Black Rectangle on PostScript

Article ID: 110796

Article Last Modified on 7/17/2001



APPLIES TO

  • Microsoft OLE 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.


Additional query words: 2.01

Keywords: kb16bitonly KB110796