ID Number: Q83660
3.10
WINDOWS
Summary:
During the process of creating an object linking and embedding (OLE)
object, an application must specify a rendering option. This article
discusses each of the three rendering options: olerender_draw,
olerender_format, and olerender_none.
More Information:
The olerender_draw Option
-------------------------
The OLE client library manages the presentation data. The client
application calls the OleDraw function to display the object. This
option is the simplest and most common rendering option. It imposes
the least amount of overhead on an application.
This rendering option allows an object handler to provide rendering
services for objects of its class. If the client application does not
call OleDraw, the object handler cannot intercept the call to the Draw
method.
The olerender_format Option
---------------------------
The client application manages the presentation data. The client must
call the OleGetData function to obtain data in a presentation format
(CF_BITMAP, CF_DIB, or CF_METAFILEPICT) and render the image. If the
application obtains a metafile, the application can call the
PlayMetaFile function or enumerate the records from the metafile and
process them individually.
Using the olerender_format option prevents an object handler from
fully participating in rendering an object because handlers typically
handle the OLEOBJECT::Draw method. When a client specifies
olerender_format, the client application typically draws the object
manually as described above, bypassing the call to the OleDraw
function. Because the client does not call OleDraw, this method also
bypasses any special rendering provided by a handler.
The olerender_none Option
-------------------------
This object has no presentation data. The client application calls the
OleGetData function to retrieve information only for OwnerLink and
ObjectLink data formats. Any presentation data used by the object is
defined by the client and must be drawn by the client. This option is
most useful for implementing hyperlinks.
As with the olerender_format option, using olerender_none prevents
object handlers from rendering the object. However, because this
option implies that there is no presentation data, there should be
nothing for the handler to render.
Additional reference words: 3.10