L_AnnGetSecondaryMetafile - Raster Imaging C API Help

L_AnnGetSecondaryMetafile

#include "l_bitmap.h"

L_LTANN_API L_INT L_AnnGetSecondaryMetafile(hObject, phMetafile)

HANNOBJECT hObject;

handle to the annotation object

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

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:

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 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

Win32, x64.

See Also

Functions:

L_AnnGetMetafile, L_AnnSetMetafile, L_AnnGetPredefinedMetafile, L_ScrambleBitmap, L_AnnEncryptApply, L_AnnSetEncryptOptions, L_AnnGetEncryptOptions

Topics:

Annotation Functions: Object Properties

 

Annotation Objects - Default Values

 

Annotation Objects - Automated Features

 

Implementing an Automated Annotation Program

 

Implementing a Non-automated Annotation Program

 

Obtaining Annotation Object Information

 

Using Annotation Bitmap Objects

 

Annotation Functions (Document/Medical only): Getting and Setting the Object Metafile Property

Example

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

L_INT AnnGetSecondaryMetafileExample(HANNOBJECT hObject) 
{ 
   L_INT nRet; 
   HMETAFILE         hMetafile1=0; 
   HMETAFILE         hMetafile2=0; 
   L_BOOL            bEncryptorOriginal; 
   ANNENCRYPTOPTIONS EncryptOptions; 
   L_UINT            uObjectType; 
 
   nRet = L_AnnGetType(hObject, &uObjectType); 
   if(nRet != SUCCESS) 
      return nRet; 
   if (uObjectType != ANNOBJECT_ENCRYPT) 
   { 
      MessageBox(NULL, TEXT("This object is not an encryptor."), TEXT("Error"), MB_OK); 
      return 0; 
   } 
 
   nRet = L_AnnGetMetafile(hObject, &hMetafile1); 
   if(nRet != SUCCESS) 
      return nRet; 
   nRet = L_AnnGetSecondaryMetafile(hObject, &hMetafile2); 
   if(nRet != SUCCESS) 
      return nRet; 
 
   memset(&EncryptOptions, 0, sizeof(ANNENCRYPTOPTIONS)); 
   EncryptOptions.uStructSize = sizeof(ANNENCRYPTOPTIONS); 
   EncryptOptions.uFlags = ANNENCRYPT_ALL; 
   nRet = L_AnnGetEncryptOptions(hObject,  &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 = L_AnnSetEncryptOptions(hObject, &EncryptOptions, 0); 
   if(nRet != SUCCESS) 
      return nRet; 
   nRet = L_AnnSetMetafile(hObject, hMetafile2, ANNMETAFILE_USER, 0); 
   if(nRet != SUCCESS) 
      return nRet; 
 
   // Set state to decryptor, and set decryptor metafile 
   EncryptOptions.bEncryptor = FALSE; 
   nRet = L_AnnSetEncryptOptions(hObject, &EncryptOptions, 0); 
   if(nRet != SUCCESS) 
      return nRet; 
   nRet = L_AnnSetMetafile(hObject, hMetafile1, ANNMETAFILE_USER, 0); 
   if(nRet != SUCCESS) 
      return nRet; 
 
   // Set encryptor to oringal state 
   EncryptOptions.bEncryptor = bEncryptorOriginal; 
   nRet = L_AnnSetEncryptOptions(hObject, &EncryptOptions, 0); 
   if(nRet != SUCCESS) 
      return nRet; 
   return SUCCESS; 
} 

Help Version 20.0.2018.7.30
Products | Support | Contact Us | Copyright Notices
© 1991-2018 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C API Help