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.
This function is available in the Document and Medical Imaging toolkits.
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
Windows 2000 / XP/Vista.
See Also
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; }