Using Annotation Bitmap Objects

The following annotation objects utilize bitmaps or metafiles as part of the annotation:

ANNOBJECT_ENCRYPT

ANNOBJECT_FREEHANDHOTSPOT

ANNOBJECT_HOTSPOT

ANNOBJECT_POINT

ANNOBJECT_PUSHPIN

ANNOBJECT_STAMP

In addition, the Automation object (ANNOBJECT_AUTOMATION) stores bitmap or metafile settings along with the other object default settings.

LEADTOOLS provides the following functions to work with bitmaps or metafiles associated with annotation objects:

SetBitmap – The LAnnStamp, LAnnPushPin, and LAnnPoint classes each have a SetBitmap member that can be used to set the bitmap for the ANNOBJECT_STAMP, ANNOBJECT_POINT, or ANNOBJECT_PUSHPIN object. The ANNOBJECT_STAMP (including the different Rubber Stamp tools) object can display text, a bitmap, or a metafile. Only one of these three can be displayed at any time—setting the object to one of these destroys any settings for the other two. Initially, the ANNOBJECT_STAMP displays text. In automation, there are different Rubber Stamp tools available: these are ANNOBJECT_STAMP objects set up to use the different metafiles for each rubber stamp selection (instead of text). The ANNOBJECT_PUSHPIN object displays a bitmap in design mode and a secondary bitmap in run mode.

GetBitmap – The LAnnStamp, LAnnPushPin, and LAnnPoint classes each have a GetBitmap member that can be used to get the bitmap for the ANNOBJECT_STAMP, ANNOBJECT_POINT, or ANNOBJECT_PUSHPIN object. The ANNOBJECT_STAMP (including the different Rubber Stamp tools) object can display text, a bitmap, or a metafile. Only one of these three can be displayed at any time—setting the object to one of these destroys any settings for the other two. Initially, the ANNOBJECT_STAMP displays text. In automation, there are different Rubber Stamp tools available, which are ANNOBJECT_STAMP objects set up to use the different metafiles for each rubber stamp selection (instead of text). The ANNOBJECT_PUSHPIN object displays a bitmap in design mode and a secondary bitmap in run mode.

SetMetafile – The LAnnStamp, LAnnHotSpot, LAnnEncrypt, and LAnnFreehandHotSpot classes each have a SetMetafile member that can be used to set the metafile for the ANNOBJECT_STAMP (including the Rubber Stamp tools), ANNOBJECT_HOTSPOT, ANNOBJECT_FREEHANDHOTSPOT, and ANNOBJECT_ENCRYPT objects to change the metafile for the selected objects. This function changes the metafile for the specified objects, but any new objects will still use the default metafiles. To reset a metafile to its original metafile, call the LAnnotation::SetPredefinedMetafile function and pass NULL to hMetafile.

GetMetafile – The LAnnStamp, LAnnHotSpot, LAnnEncrypt, and LAnnFreehandHotSpot classes each have a GetMetafile member that can be used to retrieve the metafile for the selected ANNOBJECT_STAMP, ANNOBJECT_HOTSPOT, ANNOBJECT_FREEHANDHOTSPOT, and ANNOBJECT_ENCRYPT objects and the Rubber Stamp tool.

SetSecondaryBitmap - Only PushPin objects (ANNOBJECT_PUSHPIN) use a secondary bitmap. A PushPin object has a primary bitmap, (manipulated using the LAnnPushPin::SetBitmap and LAnnPushPin::GetBitmap functions) which displays whenever the text is shown, and a secondary bitmap, changed using the LAnnPushPin::SetSecondaryBitmap function. The primary bitmap is shown with the note text. The secondary bitmap is shown by itself when the note is minimized. In design mode, the ANNOBJECT_PUSHPIN object shows the text and displays the primary bitmap. In the run mode the object shows or hides the text when clicked.

GetSecondaryBitmap - Gets the secondary bitmap used by the specified annotation object. Only PushPin objects (ANNOBJECT_PUSHPIN) use a secondary bitmap. A PushPin object has a primary bitmap, (manipulated using the LAnnPushPin::SetBitmap and LAnnPushPin::GetBitmap functions) which displays whenever the text is shown, and a secondary bitmap, changed using the LAnnPushPin::SetSecondaryBitmap function. The primary bitmap is shown with the note text. The secondary bitmap is shown by itself when the note is minimized. In design mode, the ANNOBJECT_PUSHPIN object shows the text and displays the primary bitmap. In the run mode the object shows or hides the text when clicked.

GetPredefinedBitmap – LAnnPoint::GetPredefinedBitmap gets a copy of the specified predefined bitmap, used for the annotation Point object (ANNOBJECT_POINT).

SetPredefinedBitmap – Changes or resets the predefined bitmap, used for the annotation Point object (ANNOBJECT_POINT).

GetSecondaryMetafile - LAnnEncrypt::GetSecondaryMetafile gets the metafile handle associated with an ANNOBJECT_ENCRYPT object when it is in the ‘decryptor’ state. The encrypt object has two states: Encryptor and Decryptor. Each state is displayed with its own metafile. Use the LAnnEncrypt::GetMetafile function to retrieve the current metafile for an encrypt object in an ‘encryptor’ state.

SetPredefinedMetafile – The LAnnStamp, LAnnHotSpot, LAnnEncrypt, and LAnnFreehandHotSpot classes each have a SetPredefinedMetafile member that sets the default metafiles used by the associated object types:

ANNOBJECT_ENCRYPT

ANNOBJECT_FREEHANDHOTSPOT

ANNOBJECT_HOTSPOT

ANNOBJECT_STAMP (including the Rubber Stamp tools)

GetPredefinedMetafile – The LAnnStamp, LAnnHotSpot, LAnnEncrypt, and LAnnFreehandHotSpot classes each have a GetPredefinedMetafile member that sets the default metafiles used by the associated object types:

ANNOBJECT_ENCRYPT

ANNOBJECT_FREEHANDHOTSPOT

ANNOBJECT_HOTSPOT

ANNOBJECT_STAMP

Rubber Stamp Tool