LAnnCrossProduct::GetUserHandle

Summary

Gets information about the specified user-defined annotation handle.

Syntax

#include "ltwrappr.h"

virtual L_INT LAnnCrossProduct::GetUserHandle(uIndex, pAnnHandle)

Parameters

L_INT32 uIndex

Index of user handle to get. The index is zero based. Passing a negative value returns ERROR_INV_PARAMETER.

pANNHANDLE pAnnHandle

Pointer to an ANNHANDLE structure to be updated with the user handle.

Returns

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

Comments

Before calling this function, you must create the CrossProduct annotation object.

Call this function to get information about an existing user-defined annotation handle.

If successful, the entire pAnnHandle structure is filled. The pAnnHandle->uFlags field is ignored. For more information, refer to ANNHANDLE.

Required DLLs and Libraries

Platforms

Win32, x64.

See Also

Functions

Topics

Example

// This example displays information about the first user handle in an annotation 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_GetUserHandleExample(LAnnCrossProduct *LCrossProduct)  
{ 
   L_INT nRet; 
   L_UINT uCount;  
   ANNHANDLE AnnHandle;  
 
 
   // Get the total count of user handles 
 
   LCrossProduct->GetUserHandles(NULL,  &uCount);  
 
   if (uCount > 0)  
   { 
      memset(&AnnHandle, 0, sizeof(ANNHANDLE));  
      AnnHandle.uStructSize = sizeof(&AnnHandle);  
      nRet = LCrossProduct->GetUserHandle(0, &AnnHandle);  
      if(nRet != SUCCESS) 
         return nRet; 
 
      DumpAnnHandle(0, &AnnHandle);  
   } 
   else 
   { 
      MessageBox(NULL, TEXT("No User Handles!"), TEXT("Error"), MB_OK);  
      return FAILURE; 
   } 
 
   return SUCCESS; 
} 

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

LEADTOOLS Raster Imaging C++ Class Library Help
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.