ANNPOINTOPTIONS

typedef struct tagANNPOINTOPTIONS
{
   L_UINT uStructSize;
   L_UINT uFlags;
   L_BOOL bPointUseBitmap;
   pBITMAPHANDLE pPointBitmap;
   L_UINT uBitmapStructSize;
   L_BOOL bPointBitmapTransparent;
   COLORREF crPointBitmapTransparentColor;
   L_INT32 nPointRadius;
   COLORREF crPointBorderColor;
   L_BOOL bPointTransparentFill;
   COLORREF crPointFillColor;
   L_BOOL bPointFixedSize;
   L_INT32 nReserved;
} ANNPOINTOPTIONS, *pANNPOINTOPTIONS;

The ANNPOINTOPTIONS structure is used with the functions LAnnAutomation::SetPointOptions, LAnnPoint::SetPointOptions and LAnnAutomation::GetPointOptions, LAnnPoint::GetPointOptions to get or set options on an annotation point object.

Member

Description

uStructSize

Size of this structure. Use sizeof(ANNENCRYPTOPTIONS)

uFlags

Identifies which fields are valid. Possible values are one or more of the following constants "or"ed together.

 

Value

Meaning

 

ANNPOINT_USE_BITMAP

[0x001] bPointUseBitmap field is valid.

 

ANNPOINT_BITMAP

[0x002] pPointBitmap field is valid.

 

ANNPOINT_BITMAP_TRANSPARENT

[0x004] bPointBitmapTransparent field is valid

 

ANNPOINT_BITMAP_TRANSPARENT_COLOR

[0x008] crPointBitmapTransparentColor field is valid.

 

ANNPOINT_RADIUS

[0x010] nPointRadius field is valid.

 

ANNPOINT_BORDER_COLOR

[0x020] crPointBorderColor field is valid.

 

ANNPOINT_FILL_COLOR

[0x040] crPointFillColor field is valid.

 

ANNPOINT_TRANSPARENT_FILL

[0x080] bPointTransparentFill field is valid.

 

ANNPOINT_FIXED_SIZE

[0x100] bPointFixedSize field is valid.

 

ANNPOINT_ALL

[0x1ff] All fields are valid.

 

bPointUseBitmap

Flag that indicates whether to draw the point using the current point bitmap or as a circle. Possible values are:

 

Value

Meaning

 

TRUE

Draw the point using the current point bitmap.

 

FALSE

Draw the point as a circle.

pPointBitmap

Pointer to a BITMAPHANDLE structure that gets or sets the point bitmap.

uBitmapStructSize

Size of the structure pointed to by pBitmap, for versioning.  Use sizeof(BITMAPHANDLE).

bPointBitmapTransparent

Flag that indicates whether there is a transparent color. Possible values are:

 

Value

Meaning

 

TRUE

If the point is drawn using a bitmap, draw with a transparent color.

 

FALSE

If the point is drawn using a bitmap, there is no transparent color.

crPointBitmapTransparentColor

If the point is drawn as a bitmap, and bPointBitmapTransparent is TRUE, this specifies the transparent color.

nPointRadius

If the point is drawn as a circle, this specifies the radius in pixels (assuming no zooming).

crPointBorderColor

If the point is drawn as a circle, this is the outline color

bPointTransparentFill

Flag for a point drawn as a circle that indicates whether the inside is transparent or uses the fill color. Possible values are:

 

Value

Meaning

 

TRUE

If the point is drawn as a circle, the inside is transparent.

 

FALSE

If the point is drawn as a circle, the fill color is crPointFillColor.

crPointFillColor

If the point is drawn as a circle, this is the fill color.

bPointFixedSize

Flag for a point drawn as a circle that indicates whether the point is a fixed size. Possible values are:

 

Value

Meaning

 

TRUE

If the point is drawn as a circle, the size does not change, regardless of the zoom factor

 

FALSE

If the point is drawn as a circle, the size changes with the zoom factor.

nReserved

Reserved for future use. Must set this field to zero.

Comments

When calling LAnnAutomation::GetPointOptions or LAnnPoint::GetPointOptions, the uFlags field identifies which fields to retrieve. When calling LAnnAutomation::SetPointOptions or LAnnPoint::SetPointOptions, the uFlags field identifies which fields to set.

To get the bitmap of the current point object (hObject), do the following:

memset(&PointOptions, 0, sizeof(ANNPOINTOPTIONS)); 

PointOptions.nSize = sizeof(ANNPOINTOPTIONS); 

PointOptions.uFlags = ANNPOINT_BITMAP; 

PointOptions. pPointBitmap = &PointBitmap; 

LAnnAutomation::GetPointOptions, LAnnPoint::GetPointOptions(hObject, &PointOptions);

If the call to LAnnAutomation::GetPointOptions or LAnnPoint::GetPointOptions is successful, PointBitmap now contains the point bitmap. You must call LBitmapBase::Free(&PointBitmap) when you are finished with the bitmap.

If the point is being drawn using a bitmap, the current default point bitmap is used. This can be changed by making the pPointBitmap field point to a valid LEAD bitmap handle, adding the ANNPOINT_BITMAP flag to the uFlags field, and calling LAnnAutomation::SetPointOptions or LAnnPoint::SetPointOptions.

If bPointBitmapTransparent is TRUE, then the point bitmap is displayed with transparency, where crPointBitmapTransparentColor is the transparent color.

If the point is not being drawn using a bitmap, it is displayed as a circle with the following properties: