LEADTOOLS Raster Imaging C++ Class Library Help > Classes and Member Functions > LAnnAutomation > LAnnAutomation Member Functions > LAnnAutomation::GetSecondaryMetafile |
#include "ltwrappr.h"
virtual L_INT LAnnAutomation::GetSecondaryMetafile(phMetafile)
HMETAFILE * phMetafile; |
/* pointer to a variable to be updated with the handle to a metafile */ |
Retrieves the metafile handle associated with an automation 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 automation object has two states:
Encryptor
Decryptor
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:
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
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. |
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; }