AnnGetSecondaryMetafile example for Delphi
Procedure TForm1. AnnGetSecondaryMetafile ( hObject: HANNOBJECT );
var
   nObjectType: L_INT;
   hMetafile1: HMETAFILE;
   hMetafile2: HMETAFILE;
   bEncryptorOriginal: Boolean;
begin
   nObjectType:= LEADAnn1.AnnGetType(hObject);
   if(nObjectType = ANNOBJECT_ENCRYPT) Then
   begin
      ShowMessage('This object is not an encryptor object.');
      Exit;
   end;
   LEADAnn1.AnnGetMetafile(hObject, hMetafile1);
   LEADAnn1.AnnGetSecondaryMetafile(hObject, hMetafile2);
   LEADAnn1.AnnEncryptOptions.Flags:= ANNENCRYPT_ALL;
   LEADAnn1.AnnGetEncryptOptions(hObject);
   bEncryptorOriginal:= LEADAnn1.AnnEncryptOptions.Encryptor;
   //Set state to Decryptor and set Decryptor metafile
   LEADAnn1.AnnEncryptOptions.Flags:= ANNENCRYPT_TYPE;
   LEADAnn1.AnnFlags:= 0;
   LEADAnn1.AnnEncryptOptions.Encryptor:= TRUE;
   LEADAnn1.AnnSetEncryptOptions (hObject);
   LEADAnn1.AnnSetMetafile( hObject, hMetafile2, ANNMETAFILE_USER, FALSE);
   //Set state to Decryptor and set Decryptor metafile
   LEADAnn1.AnnFlags:= 0;
   LEADAnn1.AnnEncryptOptions.Encryptor:= TRUE;
   LEADAnn1.AnnSetEncryptOptions (hObject);
   LEADAnn1.AnnSetMetafile (hObject, hMetafile2, ANNMETAFILE_USER, FALSE);
   LEADAnn1.AnnEncryptOptions.Encryptor:= bEncryptorOriginal;
   LEADAnn1.AnnFlags:= 0;
   LEADAnn1.AnnSetEncryptOptions (hObject);
end;