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