L_AnnGetUserHandles
#include "l_bitmap.h"
L_INT EXT_FUNCTION L_AnnGetUserHandles(hObject, pAnnHandle, *puCount)
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/Medical 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. |
puCount |
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 95 / 98 / Me, Windows 2000 / XP.
See Also
Example
// This example displays information about all the user handles in an object
L_VOID DumpAnnHandle(L_UINT uIndex, pANNHANDLE pAnnHandle)
{
L_TCHAR szMsg[400];
if (pAnnHandle)
{
wsprintf(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_VOID ExampleAnnGetUserHandles(HANNOBJECT hObject)
{
L_UINT i;
L_UINT uCount;
pANNHANDLE pAnnHandle;
// Get the total count of user handles, and allocate memory
L_AnnGetUserHandles(hObject, NULL, &uCount);
pAnnHandle = (pANNHANDLE)malloc(uCount * sizeof(ANNHANDLE));
L_AnnGetUserHandles(hObject, pAnnHandle, &uCount);
for (i = 0; i<uCount; i++)
DumpAnnHandle(i, pAnnHandle + i);
free(pAnnHandle);
}