L_AnnGetSecondaryMetafile
#include "l_bitmap.h"
L_INT EXT_FUNCTION L_AnnGetSecondaryMetafile(hObject, phMetafile)
HANNOBJECT hObject; |
/* handle to the annotation object */ |
HMETAFILE L_FAR * 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. This function is available in the Document/Medical Toolkits.
Parameter |
Description |
hObject |
Handle to the annotation object. |
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:
Encryptor
Decryptor
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:
If this function is successful, the address pointed to by phMetafile will be updated with the metafile handle.
Use the L_AnnGetMetafile 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. |
Platforms
Windows 95 / 98 / Me, Windows 2000 / XP.
See Also
Example
// This example swaps the metafiles for the 'encrypt' and 'decrypt' state of an encryptor
L_VOID SampleAnnGetSecondaryMetafile(HANNOBJECT hObject)
{
HMETAFILE hMetafile1=0;
HMETAFILE hMetafile2=0;
L_BOOL bEncryptorOriginal;
ANNENCRYPTOPTIONS EncryptOptions;
L_UINT uObjectType;
L_AnnGetType(hObject, &uObjectType);
if (uObjectType != ANNOBJECT_ENCRYPT)
{
MessageBox(NULL, TEXT("This object is not an encryptor."), TEXT("Error"), MB_OK);
return;
}
L_AnnGetMetafile(hObject, &hMetafile1);
L_AnnGetSecondaryMetafile(hObject, &hMetafile2);
memset(&EncryptOptions, 0, sizeof(ANNENCRYPTOPTIONS));
EncryptOptions.uStructSize = sizeof(ANNENCRYPTOPTIONS);
EncryptOptions.uFlags = ANNENCRYPT_ALL;
L_AnnGetEncryptOptions(hObject, &EncryptOptions);
bEncryptorOriginal = EncryptOptions.bEncryptor;
// Set state to encryptor, and set encryptor metafile
EncryptOptions.uFlags = ANNENCRYPT_TYPE;
EncryptOptions.bEncryptor = TRUE;
L_AnnSetEncryptOptions(hObject, &EncryptOptions, 0);
L_AnnSetMetafile(hObject, hMetafile2, ANNMETAFILE_USER, 0);
// Set state to decryptor, and set decryptor metafile
EncryptOptions.bEncryptor = FALSE;
L_AnnSetEncryptOptions(hObject, &EncryptOptions, 0);
L_AnnSetMetafile(hObject, hMetafile1, ANNMETAFILE_USER, 0);
// Set encryptor to oringal state
EncryptOptions.bEncryptor = bEncryptorOriginal;
L_AnnSetEncryptOptions(hObject, &EncryptOptions, 0);
}