L_AnnGetUserHandles

#include "l_bitmap.h"

L_LTANN_API L_INT L_AnnGetUserHandles(hObject, pAnnHandle, pCount)

HANNOBJECT hObject;

handle to the annotation object with the user-defined handles

pANNHANDLE pAnnHandle;

array of ANNHANDLE structures that define user handles

L_UINT *pCount;

pointer to an unsigned integer used to return the total count of user handles

Gets information about all existing user-defined annotation handles.

Parameter

Description

hObject

Handle to the annotation object for which to get the user handles.

pAnnHandle

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

pCount

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

Returns

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

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_AnnDefine, L_AnnAddUserHandle, L_AnnAdjustPoint, L_AnnChangeUserHandle, L_AnnConvert, L_AnnDefine2, L_AnnDeleteUserHandle, L_AnnEnumerateHandles, L_AnnGetRestrictToContainer, L_AnnGetRotateAngle, L_AnnGetUserHandle, L_AnnHitTest, L_AnnRestrictCursor, L_AnnSetRestrictToContainer

Topics:

Annotation Functions: Creating and Deleting Annotations

 

Implementing Custom Annotations

 

Implementing Annotations

 

Implementing an Automated Annotation Program

 

Implementing a Non-automated Annotation Program

 

Obtaining Annotation Object Information

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) 
   { 
      _stprintf_s(szMsg, TEXT("uIndex %d\nnSize: %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 AnnGetUserHandlesExample(HANNOBJECT hObject) 
{ 
   L_INT nRet; 
   L_UINT      i; 
   L_UINT      uCount; 
   pANNHANDLE  pAnnHandle; 
   // Get the total count of user handles, and allocate memory 
   nRet = L_AnnGetUserHandles(hObject, NULL, &uCount); 
   if(nRet != SUCCESS) 
      return nRet; 
   pAnnHandle = (pANNHANDLE)malloc(uCount * sizeof(ANNHANDLE)); 
   nRet = L_AnnGetUserHandles(hObject, pAnnHandle, &uCount); 
   if(nRet != SUCCESS) 
      return nRet; 
   for (i = 0; i<uCount; i++) 
   DumpAnnHandle(i, pAnnHandle + i); 
   free(pAnnHandle); 
   return SUCCESS; 
} 

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS Raster Imaging C API Help