virtual L_INT LAnnText::AddUserHandle(pAnnHandle)
Adds a user-defined handle to an annotation object, where pAnnHandle is a pointer to the structure defining an annotation handle.
Pointer to a structure that defines the user handle.
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
Before calling this function, you must create the LAnnText 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, refer to ANNHANDLE.
Win32, x64.
// This example adds user handles to the center of the top and bottom lines of a Text object
L_INT LAnnText_AddUserHandleExample(LAnnText *pLText)
{
L_INT nRet;
ANNHANDLE AnnHandle;
L_UINT uType;
ANNRECT arc;
uType = pLText->GetType();
if (uType == ANNOBJECT_TEXT)
{
nRet = pLText->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 = pLText->AddUserHandle(&AnnHandle);
if(nRet != SUCCESS)
return nRet;
AnnHandle.aptContainer.x = (arc.left + arc.right)/2;
AnnHandle.aptContainer.y = arc.bottom;
nRet = pLText->AddUserHandle(&AnnHandle);
if(nRet != SUCCESS)
return nRet;
}
else
{
MessageBox(NULL, TEXT("Annotation object must be a Text object."), TEXT("Error"), MB_OK);
return FAILURE;
}
return SUCCESS;
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document