LAnnAutomation::GetSecondaryMetafile

#include "ltwrappr.h"

virtual L_INT LAnnAutomation::GetSecondaryMetafile(phMetafile)

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

Parameters

HMETAFILE * phMetafile

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

Returns

Value Meaning
SUCCESS The function was successful.
< 1 An error occurred. Refer to Return Codes.

Comments

The automation object has two states:

Each state is displayed with its own metafile. Use this function to retrieve the current metafile for an automation 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 LAnnAutomation::GetMetafile function to retrieve the current metafile for an automation object in an encryptor state.

Required DLLs and Libraries

Platforms

Win32, x64.

See Also

Functions

Topics

Example

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

L_INT LAnnAutomation_GetSecondaryMetafileExample(LAnnAutomation *pLAutomation) 
{ 
   L_INT nRet; 
   HMETAFILE hMetafile1=0; 
   HMETAFILE hMetafile2=0; 
   L_BOOL bEncryptorOriginal; 
   ANNENCRYPTOPTIONS EncryptOptions; 
   L_UINT uObjectType; 
 
   uObjectType = pLAutomation->GetType(); 
   if (uObjectType != ANNOBJECT_ENCRYPT) 
   { 
      MessageBox(NULL, TEXT("This object is not an encryptor."), TEXT("Error"), MB_OK); 
      return 0; 
   } 
 
   HANNOBJECT obj = pLAutomation->GetHandle(); 
   LAnnEncrypt MyAnnEncrypt(obj); 
 
   nRet = MyAnnEncrypt.GetMetafile(&hMetafile1); 
   if(nRet != SUCCESS) 
      return nRet; 
 
   nRet = MyAnnEncrypt.GetSecondaryMetafile(&hMetafile2); 
   if(nRet != SUCCESS) 
      return nRet; 
 
   memset(&EncryptOptions, 0, sizeof(ANNENCRYPTOPTIONS)); 
   EncryptOptions.uStructSize = sizeof(ANNENCRYPTOPTIONS); 
   EncryptOptions.uFlags = ANNENCRYPT_ALL; 
   nRet = MyAnnEncrypt.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 = MyAnnEncrypt.SetEncryptOptions(&EncryptOptions, 0); 
   if(nRet != SUCCESS) 
      return nRet; 
 
   nRet = MyAnnEncrypt.SetMetafile(hMetafile2, ANNMETAFILE_USER, 0); 
   if(nRet != SUCCESS) 
      return nRet; 
 
   // Set state to decryptor, and set decryptor metafile 
   EncryptOptions.bEncryptor = FALSE; 
   nRet = MyAnnEncrypt.SetEncryptOptions(&EncryptOptions, 0); 
   if(nRet != SUCCESS) 
      return nRet; 
 
   nRet = MyAnnEncrypt.SetMetafile(hMetafile1, ANNMETAFILE_USER, 0); 
   if(nRet != SUCCESS) 
      return nRet; 
 
   // Set encryptor to original state 
   EncryptOptions.bEncryptor = bEncryptorOriginal; 
   nRet = MyAnnEncrypt.SetEncryptOptions(&EncryptOptions, 0); 
   if(nRet != SUCCESS) 
      return nRet; 
 
   return SUCCESS; 
} 

Help Version 20.0.2020.4.5
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C++ Class Library Help