AnnDeletePageArray Example for Visual Basic

'This sample saves the annotations as the first page of a multipage annotation file in memory
'The annotations are flipped, and saved as the second page
'The annotations are rotated, and saved as the third page
'Information is displayed about the annotation file
'The second page is deleted, and information is again displayed about the annotation file
'Assume this global declaration: 
'   Dim AnnVariant as VARIANT
Private Sub SampleAnnFileInfoArray_Click()
   Dim nRet As Integer
   Dim strFormat As String
   Dim strMsg As String
   Dim uFormat As AnnFMTConstants
   Dim RasterVar As New LEADRasterVariant

   uFormat = ANN_FMT_ENCODED

   
   'Save as the first page of the annotation file
   nRet = RasterAnn.AnnSaveArray(uFormat, False, RasterVar, SAVE_OVERWRITE, 0) 

   'Flip the container, and save as the second page (insert before page 2) 
   RasterAnn.AnnFlip True, LEADRasterView1.Raster.BitmapHeight / 2, False
   nRet = RasterAnn.AnnSaveArray(uFormat, False, RasterVar, SAVE_INSERT, 2) 

   'Rotate the container, and save as the third page
   'Here we could pass the SAVE_INSERT flag and 3 for nPage, 
   'but instead we will use the SAVE_APPEND flag
   RasterAnn.AnnRotate False, LEADRasterView1.Raster.BitmapWidth / 2, LEADRasterView1.Raster.BitmapHeight / 2, 45, False
   RasterAnn.AnnSaveArray uFormat, False, RasterVar, SAVE_APPEND, 0

   'Verify contents of file
   nRet = RasterAnn.AnnFileInfoArray(RasterVar) 
    If (nRet = 0) Then
        Select Case RasterAnn.AnnInfoFormat
           Case ANN_FMT_NATIVE
             strFormat = "ANN_FMT_NATIVE"
           Case ANN_FMT_WMF
             strFormat = "ANN_FMT_WMF"
           Case ANN_FMT_ENCODED
             strFormat = "ANN_FMT_ENCODED"
           Case Else
             strFormat = "Unknown"
        End Select

        strMsg = ""
        strMsg = strMsg + "Format: " + strFormat + Chr(13) 
        strMsg = strMsg + "Version: " + Str(RasterAnn.AnnInfoVersion) + Chr(13) 
        strMsg = strMsg + "Total Pages: " + Str(RasterAnn.AnnInfoTotalPages) + Chr(13) 

        MsgBox strMsg
    Else
        MsgBox "Invalid Annotation Memory File"
    End If

   'Now delete the second page, and display information
   RasterAnn.AnnDeletePageArray RasterVar, 2

   'Verify contents of file
   nRet = RasterAnn.AnnFileInfoArray(RasterVar) 
    If (nRet = 0) Then
        Select Case RasterAnn.AnnInfoFormat
           Case ANN_FMT_NATIVE                  ' Cut command. 
             strFormat = "ANN_FMT_NATIVE"
           Case ANN_FMT_WMF                ' Copy command. 
             strFormat = "ANN_FMT_WMF"
           Case ANN_FMT_ENCODED                 ' Clear command. 
             strFormat = "ANN_FMT_ENCODED"
           Case Else
             strFormat = "Unknown"
        End Select

        strMsg = ""
        strMsg = strMsg + "Format: " + strFormat + Chr(13) 
        strMsg = strMsg + "Version: " + Str(RasterAnn.AnnInfoVersion) + Chr(13) 
        strMsg = strMsg + "Total Pages: " + Str(RasterAnn.AnnInfoTotalPages) + Chr(13) 

        MsgBox strMsg
    Else
        MsgBox "Invalid Annotation File"
    End If
    'If finished with AnnVariant, then free the memory by setting to empty
End Sub