LAnnCrossProduct::GetUserHandles

#include "ltwrappr.h"

virtual L_INT LAnnCrossProduct::GetUserHandles(pAnnHandle, pCount)

Gets information about all existing user-defined annotation handles.

Parameters

pANNHANDLE pAnnHandle

Array of ANNHANDLE structures to be updated with the user-defined handles.

L_UINT *pCount

Pointer to an unsigned integer used to return the total number of user handles.

Returns

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

Comments

Call with pAnnHandle == NULL to get the total number of user handles. Then allocate memory for an array of ANNHANDLE structures and call this function again.

Gets an array of user-defined handles associated with the annotation object.

Required DLLs and Libraries

Platforms

Win32, x64.

See Also

Functions

Topics

Example

// This example displays information about all the user handles in an object

static L_VOID DumpAnnHandle(L_UINT uIndex, pANNHANDLE pAnnHandle)  
{ 
 
   L_TCHAR szMsg[400];  
 
   if (pAnnHandle)  
   { 
 
      wsprintf(szMsg, TEXT("uIndex %d\nuStructSize: %d\nnID: %d\n aptContainer[%f,%f]\nptClient[%d,%d]\nbVisible: %s\ncrPen: 0x%x\ncrFill: 0x%x\nnShape: %s\nhCursor: %s\n"), 
               uIndex,  
               pAnnHandle->uStructSize,  
               pAnnHandle->nID,  
               pAnnHandle->aptContainer.x,  
               pAnnHandle->aptContainer.y, 
               pAnnHandle->ptClient.x,  
               pAnnHandle->ptClient.y,  
               pAnnHandle->bVisible ? TEXT("Visible") : TEXT("Not Visible"), 
               pAnnHandle->crPen,  
               pAnnHandle->crFill,  
               pAnnHandle->nShape == ANNHANDLE_SHAPE_SQUARE ? TEXT("Square") : TEXT("Circle"), 
               pAnnHandle->hCursor ? TEXT("Cursor") : TEXT("No Cursor"));  
               MessageBox(NULL, szMsg, TEXT(""), MB_OK);  
 
   } 
 
} 
 
L_INT LAnnCrossProduct_GetUserHandlesExample(LAnnCrossProduct * LCrossProduct)  
{ 
   L_INT nRet; 
   L_UINT i;  
   L_UINT uCount;  
  
   pANNHANDLE pAnnHandle;  
  
   // Get the total count of user handles, and allocate memory 
   nRet = LCrossProduct->GetUserHandles(NULL, &uCount);  
   if(nRet != SUCCESS) 
      return nRet; 
   pAnnHandle = (pANNHANDLE)malloc(uCount * sizeof(ANNHANDLE));  
   nRet =  LCrossProduct->GetUserHandles(pAnnHandle, &uCount);  
   if(nRet != SUCCESS) 
     return nRet; 
  
   for (i = 0; i<uCount; i++) 
      DumpAnnHandle(i, pAnnHandle + i);  
 
   free(pAnnHandle);  
  
 
   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