L_AnnGetPointOptions

#include "l_bitmap.h"

L_INT EXT_FUNCTION L_AnnGetPointOptions(hObject, pPointOptions, uStructSize)

HANNOBJECT hObject;

/* handle to the annotation object */

pANNPOINTOPTIONS pPointOptions;

/* pointer to an ANNPOINTOPTIONS structure that specifies various point options */

L_UINT uStructSize;

/* size of the ANNPOINTOPTIONS structure */

Gets the options for the specified point annotation object. This function is available in the Document/Medical Toolkits.

Parameter

Description

hObject

Handle to the annotation object.

pPointOptions

Pointer to an ANNPOINTOPTIONS structure to be updated with the various point appearance options for the specified annotation object.

uStructSize

Size in bytes, of the structure pointed to by pPointOptions, for versioning. Use sizeof(ANNPOINTOPTIONS).

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

Use this function to get the point appearance options of an annotation point object. To use this function, declare a variable a type ANNPOINTOPTIONS, and pass the address of this variable as the second argument. For more information, see the documentation for the structure ANNPOINTOPTIONS.

Required DLLs and Libraries

LTANN

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.

Platforms

Windows 95 / 98 / Me, Windows 2000 / XP.

See Also

Functions:

L_AnnGetMetafile, L_AnnSetMetafile, L_AnnGetPredefinedMetafile, L_ScrambleBitmap, L_AnnEncryptApply, L_AnnSetEncryptOptions, L_AnnGetPredefinedBitmap

Topics:

Annotation Functions: Object Properties

 

Annotation Objects - Default Values

 

Annotation Objects - Automated Features

 

Implementing an Automated Annotation Program

 

Implementing a Non-automated Annotation Program

Example

// This example toggles the appearance of a point annotation object
// The appearance toggles between bitmap to circle
L_VOID SampleAnnSetPointOptions(HANNOBJECT hObject)
{
   HMETAFILE hMetafile1=0;
   HMETAFILE hMetafile2=0;
   ANNPOINTOPTIONS PointOptions;

   L_UINT uObjectType;

   L_AnnGetType(hObject, &uObjectType);
   if (uObjectType != ANNOBJECT_POINT)
   {
      MessageBox(NULL, TEXT("This object is not a point object"), TEXT("Error"), MB_OK);
      return;
   }
   
   memset(&PointOptions, 0, sizeof(ANNPOINTOPTIONS));
   PointOptions.uStructSize = sizeof(ANNPOINTOPTIONS);
   PointOptions.uFlags = ANNPOINT_ALL;
   L_AnnGetPointOptions(hObject,  &PointOptions, sizeof(ANNPOINTOPTIONS));

   if (PointOptions.bPointUseBitmap)
   {
      // Change point appearance to a circle
      PointOptions.uStructSize = sizeof(ANNPOINTOPTIONS);
      PointOptions.bPointUseBitmap = FALSE;
      PointOptions.bPointFixedSize = FALSE;
      PointOptions.bPointTransparentFill = FALSE;
      PointOptions.crPointBorderColor = RGB(0,0,0);
      PointOptions.crPointFillColor   = RGB(255, 255, 0);
      PointOptions.nPointRadius = 12;
      PointOptions.nReserved = 0;
      PointOptions.uFlags =   ANNPOINT_USE_BITMAP        | 
                              ANNPOINT_RADIUS            | 
                              ANNPOINT_BORDER_COLOR      |
                              ANNPOINT_FILL_COLOR        |
                              ANNPOINT_TRANSPARENT_FILL  |
                              ANNPOINT_FIXED_SIZE;
   }
   else
   {
      // Change point appearance to a bitmap
      PointOptions.uStructSize = sizeof(ANNPOINTOPTIONS);
      PointOptions.bPointUseBitmap = TRUE;
      PointOptions.bPointBitmapTransparent = TRUE;
      PointOptions.crPointBitmapTransparentColor = RGB(255,255,255);
      PointOptions.nReserved = 0;
   }

   L_AnnSetPointOptions(hObject, &PointOptions, 0);
}