AnnDeletePageMemory 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 hGlobal as OLE_HANDLE
Private Sub SampleAnnFileInfoMemory_Click()
   Dim nRet As Integer
   Dim strFormat As String
   Dim strMsg As String
   Dim lSize As Long
   Dim uFormat As Long
   
   uFormat = ANNFMT_NATIVE
   'Save as the first page of the annotation file
   hGlobal = 0
   LEAD1.AnnSaveMemory hGlobal, uFormat, False, lSize, SAVE_OVERWRITE, 0

   'Flip the container, and save as the second page (insert before page 2) 
   LEAD1.AnnFlip True, LEAD1.BitmapHeight / 2, False
   LEAD1.AnnSaveMemory hGlobal, uFormat, False, lSize, 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
   LEAD1.AnnRotate False, LEAD1.BitmapWidth / 2, LEAD1.BitmapHeight / 2, 45, False
   LEAD1.AnnSaveMemory hGlobal, uFormat, False, lSize, SAVE_APPEND, 0

   'Verify contents of file
   nRet = LEAD1.AnnFileInfoMemory(hGlobal, lSize) 
    If (nRet = 0) Then
        Select Case LEAD1.AnnInfoFormat
           Case ANNFMT_NATIVE
             strFormat = "ANNFMT_NATIVE"
           Case ANNFMT_WMF
             strFormat = "ANNFMT_WMF"
           Case ANNFMT_ENCODED
             strFormat = "ANNFMT_ENCODED"
           Case Else
             strFormat = "Unknown"
        End Select
        
        strMsg = ""
        strMsg = strMsg + "Format: " + strFormat + Chr(13) 
        strMsg = strMsg + "Version: " + Str(LEAD1.AnnInfoVersion) + Chr(13) 
        strMsg = strMsg + "Total Pages: " + Str(LEAD1.AnnInfoTotalPages) + Chr(13) 
        strMsg = strMsg + "Total Size: " + Str(lSize) + Chr(13) 
        
        MsgBox strMsg
    Else
        MsgBox "Invalid Annotation Memory File"
    End If

   'Now delete the second page, and display informtion
   LEAD1.AnnDeletePageMemory hGlobal, lSize, 2

   'Verify contents of file
   nRet = LEAD1.AnnFileInfoMemory (hGlobal, lSize) 
    If (nRet = 0) Then
        Select Case LEAD1.AnnInfoFormat
           Case ANNFMT_NATIVE                  ' Cut command. 
             strFormat = "ANNFMT_NATIVE"
           Case ANNFMT_WMF                ' Copy command. 
             strFormat = "ANNFMT_WMF"
           Case ANNFMT_ENCODED                 ' Clear command. 
             strFormat = "ANNFMT_ENCODED"
           Case Else
             strFormat = "Unknown"
        End Select
        
        strMsg = ""
        strMsg = strMsg + "Format: " + strFormat + Chr(13) 
        strMsg = strMsg + "Version: " + Str(LEAD1.AnnInfoVersion) + Chr(13) 
        strMsg = strMsg + "Total Pages: " + Str(LEAD1.AnnInfoTotalPages) + Chr(13) 
        strMsg = strMsg + "Total Size: " + Str(lSize) + Chr(13) 
        
        MsgBox strMsg
    Else
        MsgBox "Invalid Annotation File"
    End If
    
    'If finished with hGlobal, then free the memory by calling GlobalFree
End Sub