AnnPointOptions example for C++ 5 and later

// This example toggles the appearance of a point annotation object
// The appearance toggles between bitmap to circle

void  CTutorDlg::ExampleAnnSetPointOptions(long hObject)
{
   AnnObjectType ObjectType;

   m_pRasterAnn->AnnGetType(hObject);
   ObjectType = m_pRasterAnn->GetAnnType();

   if( ObjectType != ANN_OBJECT_POINT )
      MessageBox(TEXT("This Object is not an Point Option")) ;

   m_pRasterAnn->AnnPointOptions->Flags = ANN_POINT_ALL;
   m_pRasterAnn->AnnGetPointOptions (hObject);

   if (m_pRasterAnn->AnnPointOptions->PointRaster == NULL)
   {
      MessageBox(TEXT("There is no raster associated "));
     Return ;
   }

   if(m_pRasterAnn->AnnPointOptions->EnablePointUseBitmap == TRUE) 
   {
      m_pRasterAnn->AnnPointOptions->EnablePointUseBitmap = FALSE;
      m_pRasterAnn->AnnPointOptions->EnablePointFixedSize = FALSE;
      m_pRasterAnn->AnnPointOptions->EnablePointTransparentFill = FALSE;

      m_pRasterAnn->AnnPointOptions->PointBorderColor = RGB(0, 0, 0);
      m_pRasterAnn->AnnPointOptions->PointFillColor = RGB(255, 255, 0);
      m_pRasterAnn->AnnPointOptions->PointRadius = 12;

      m_pRasterAnn->AnnPointOptions->Flags = (ANN_POINT_USE_BITMAP |
                                        ANN_POINT_RADIUS |
                                        ANN_POINT_BORDER_COLOR |
                                        ANN_POINT_FILL_COLOR |
                                        ANN_POINT_TRANSPARENT_FILL |
                                        ANN_POINT_FIXED_SIZE);
   }    
   else
   {
      //Change Point appearance to a bitmap
      m_pRasterAnn->AnnPointOptions->EnablePointUseBitmap = TRUE;
      m_pRasterAnn->AnnPointOptions->EnablePointBitmapTransparent = TRUE;
      m_pRasterAnn->AnnPointOptions->PointBitmapTransparentColor= RGB(255, 255, 255);
   } 

   m_pRasterAnn->Flags = 0;
   m_pRasterAnn->AnnSetPointOptions(hObject);
}