LAnnEncrypt::GetSecondaryMetafile

#include "ltwrappr.h"

virtual L_INT LAnnEncrypt::GetSecondaryMetafile(phMetafile)

HMETAFILE * phMetafile;

/* pointer to a variable to be updated with the handle to a metafile */

Retrieves the metafile handle associated with an encryptor object when it is in the decryptor state.

Parameter

Description

phMetafile

Pointer to a variable to be updated with the handle to a metafile.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

The encrypt object has two states:

Each state is displayed with its own metafile.

Use this function to retrieve the current metafile for an encrypt object in a decryptor state. The default image is shown in the figure below:

image\decryptresized20.gif

If this function is successful, the address pointed to by phMetafile will be updated with the metafile handle.

Use the LAnnEncrypt::GetMetafile function to retrieve the current metafile for an encrypt object in an encryptor state.

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.

See Also

Functions:

Class Members, LBitmap::Scramble, LAnnEncrypt::GetEncryptOptions, LAnnEncrypt::SetEncryptOptions, LAnnContainer::EncryptApply, LAnnEncrypt::GetSecondaryMetafile, LAnnStamp::GetSecondaryMetafile, LAnnPoint::GetPredefinedBitmap, LAnnPoint::SetPredefinedBitmap, LAnnPoint::GetPointOptions

Topics:

Annotation Functions: Object Properties

 

Implementing Annotations

 

Automated User Interface for Annotations

 

Annotation Functions: Creating and Deleting Annotations

 

Annotation Functions: Implementing Custom Annotations

 

Using Annotation Bitmap Objects

Example

// This example swaps the metafiles for the 'encrypt' and 'decrypt' state of an encryptor

L_INT LAnnEncrypt_GetSecondaryMetafileExample(LAnnEncrypt *pLEncrypt) 
{
   L_INT nRet;
   HMETAFILE hMetafile1=0; 
   HMETAFILE hMetafile2=0; 
   L_BOOL bEncryptorOriginal; 
   ANNENCRYPTOPTIONS EncryptOptions; 
   L_UINT uObjectType; 
   uObjectType = pLEncrypt->GetType();
   if (uObjectType != ANNOBJECT_ENCRYPT) 
   {
      MessageBox(NULL, TEXT("This object is not an encryptor."), TEXT("Error"), MB_OK); 
      return FAILURE; 
   }
   nRet = pLEncrypt->GetMetafile(&hMetafile1); 
   if(nRet != SUCCESS)
      return nRet;
   nRet = pLEncrypt->GetSecondaryMetafile(&hMetafile2); 
   if(nRet != SUCCESS)
      return nRet;
   memset(&EncryptOptions, 0, sizeof(ANNENCRYPTOPTIONS)); 
   EncryptOptions.uStructSize = sizeof(ANNENCRYPTOPTIONS); 
   EncryptOptions.uFlags = ANNENCRYPT_ALL; 
   nRet = pLEncrypt->GetEncryptOptions(&EncryptOptions); 
   if(nRet != SUCCESS)
      return nRet;
   bEncryptorOriginal = EncryptOptions.bEncryptor; 
   // Set state to encryptor, and set encryptor metafile
   EncryptOptions.uFlags = ANNENCRYPT_TYPE; 
   EncryptOptions.bEncryptor = TRUE; 
   nRet = pLEncrypt->SetEncryptOptions(&EncryptOptions, 0); 
   if(nRet != SUCCESS)
      return nRet;
   nRet = pLEncrypt->SetMetafile(hMetafile2, ANNMETAFILE_USER, 0); 
   if(nRet != SUCCESS)
      return nRet;
   
   // Set state to decryptor, and set decryptor metafile
   EncryptOptions.bEncryptor = FALSE; 
   nRet = pLEncrypt->SetEncryptOptions(&EncryptOptions, 0); 
   if(nRet != SUCCESS)
      return nRet;
   nRet = pLEncrypt->SetMetafile(hMetafile1, ANNMETAFILE_USER, 0); 
   if(nRet != SUCCESS)
      return nRet;
   // Set encryptor to original state
   EncryptOptions.bEncryptor = bEncryptorOriginal; 
   nRet = pLEncrypt->SetEncryptOptions(&EncryptOptions, 0); 
   if(nRet != SUCCESS)
      return nRet;
   return SUCCESS;
}