LAnnPointer::AddUserHandle (original) (raw)
Summary
Adds a user-defined handle to an annotation object, where pAnnHandle is a pointer to the structure defining an annotation handle.
Syntax
#include "ltwrappr.h"
virtual L_INT LAnnPointer::AddUserHandle(pAnnHandle)
Parameters
pANNHANDLE pAnnHandle
Pointer to a structure that defines 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 LAnnPointer object.
Call this function one or more times to add user handles to an existing annotation object.
The user handle location can be defined using container coordinates or client coordinates.
Client coordinates factor in the current zoom factor, and the horizontal and vertical scrolling.
For more information on defining a user handle, see the documentation for the ANNHANDLE structure.
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
- LAnnPointer::EnumerateHandles
- LAnnPointer::EnumHandleCallBack
- LAnnPointer::GetUserHandle
- LAnnPointer::GetUserHandles
- LAnnPointer::ChangeUserHandle
- LAnnPointer::DeleteUserHandle
- Class Members
Topics
- Annotation Functions: Object Properties
- Implementing Annotations
- Automated User Interface for Annotations
- Annotation Functions: Creating and Deleting Annotations
- Annotation Functions: Implementing Custom Annotations
Example
// This example adds user handles to the center of the top and bottom lines of a Pointer
L_INT LAnnPointer_AddUserHandleExample(LAnnPointer *pLPointer)
{
L_INT nRet;
ANNHANDLE AnnHandle;
L_UINT uType;
ANNRECT arc;
uType = pLPointer->GetType();
if (uType == ANNOBJECT_POINTER)
{
nRet = pLPointer->GetRect(&arc, NULL);
if(nRet != SUCCESS)
return nRet;
memset(&AnnHandle, 0, sizeof(ANNHANDLE));
AnnHandle.uStructSize = sizeof(ANNHANDLE);
AnnHandle.nID = 100;
AnnHandle.bVisible = TRUE;
AnnHandle.crPen = RGB(0,0,0);
AnnHandle.crFill = RGB(255,0,0);
AnnHandle.nShape = ANNHANDLE_SHAPE_CIRCLE;
AnnHandle.hCursor = NULL;
AnnHandle.uFlags = ANNHANDLE_ID | ANNHANDLE_LOCATION |
ANNHANDLE_CONTAINER_COORDINATES | ANNHANDLE_VISIBLE |
ANNHANDLE_PEN_COLOR | ANNHANDLE_FILL_COLOR | ANNHANDLE_SHAPE;
AnnHandle.aptContainer.x = (arc.left + arc.right)/2;
AnnHandle.aptContainer.y = arc.top;
nRet = pLPointer->AddUserHandle(&AnnHandle);
if(nRet != SUCCESS)
return nRet;
AnnHandle.aptContainer.x = (arc.left + arc.right)/2;
AnnHandle.aptContainer.y = arc.bottom;
nRet = pLPointer->AddUserHandle(&AnnHandle);
if(nRet != SUCCESS)
return nRet;
}
else
{
MessageBox(NULL, TEXT("Annotation Object Must be a Pointer"), TEXT("Error"), MB_OK);
return FAILURE;
}
return SUCCESS;
}
LEADTOOLS Raster Imaging C++ Class Library Help