<< Click to Display Table of Contents >> UDO - User Defined Objects |
[Professional Edition and above, not available for Java, PHP, Python, Ruby]
With User Defined Objects it is possible to draw any kind of object within VPE - and therefore to preview and print it!
A User Defined Object is first of all the same like a Box-Object (see "The Object-Oriented Style" in the Programmer's Manual). It inherits all properties of the Box object, including BkgMode, PenSize, PenStyle, etc.
UDO's are event driven, that means: VPE sends an event to your application when the object needs to be painted on the output device (i.e. the preview, the printer, the fax or whatsoever).
Therefore you specify additionally a long integer value (named lParam) when creating a UDO, which will help you identifying the object later during the paint event.
At the moment VPE paints the UDO, VPE first of all draws the Box object. Afterwards VPE fires the event DoUDOPaint() (VCL: OnUDOPaint(), .NET: UDOPaint Event). In that moment, your application can access the device context of VPE to draw everything you want into the rectangle of the UDO!
Moreover, with the ActiveX you have the powerful property UDOPicture, which can be assigned an OLE / COM object so it is painted automatically into the rectangle of the UDO!