Products | Support | Send comments on this topic. | Email a link to this topic. | Back to Getting Started | Help Version 18.0.10.24
LEADTOOLS Raster imaging C++ Class library help

LAnnPolyRuler::AddUserHandle

Show in webframe

#include "ltwrappr.h"

virtual L_INT LAnnPolyRuler::AddUserHandle(pAnnHandle)

pANNHANDLE pAnnHandle;

/* pointer to a structure that defines the user handle */

Adds a user-defined handle to an annotation object, where pAnnHandle is a pointer to the structure defining an annotation handle.

Parameter

Description

pAnnHandle

Pointer to a structure that defines the user handle.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

Before calling this function, you must create the LAnnPolyRuler 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:

Class Members, LAnnPolyRuler::EnumerateHandles, LAnnPolyRuler::EnumHandleCallBack, LAnnPolyRuler::GetUserHandle, LAnnPolyRuler::GetUserHandles, LAnnPolyRuler::ChangeUserHandle, LAnnPolyRuler::DeleteUserHandle

Topics:

Annotation Functions: Object Properties

 

Implementing Annotations

 

Automated User Interface for Annotations

 

Annotation Functions: Creating and Deleting Annotations

 

Types of Annotations

 

Annotation Functions: Implementing Custom Annotations

 

Annotation Functions: Creating Custom Annotations

 

Fixed Annotations

 

Minimizing Flicker With Double Buffering

Example

// This example adds user handles to the center of the top and bottom of a PolyRuler object

L_INT LAnnPolyRuler_AddUserHandleExample(LAnnPolyRuler *pLPolyRuler) 
{
        L_INT nRet;
   ANNHANDLE AnnHandle; 
   L_UINT uType; 
   ANNRECT arc; 
   
   uType = pLPolyRuler->GetType();
   if (uType == ANNOBJECT_POLYRULER) 
   {
      nRet = pLPolyRuler->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 = pLPolyRuler->AddUserHandle(&AnnHandle); 
                if(nRet != SUCCESS)
                        return nRet;
      AnnHandle.aptContainer.x = (arc.left + arc.right)/2; 
      AnnHandle.aptContainer.y = arc.bottom; 
      nRet = pLPolyRuler->AddUserHandle(&AnnHandle); 
                if(nRet != SUCCESS)
                        return nRet;
   }
   else
        {
      MessageBox(NULL, TEXT("Annotation object must be a PolyRuler object."), TEXT("Error"), MB_OK); 
                return FAILURE;
        }
        return SUCCESS;
}
Products | Support | Contact Us | Copyright Notices
© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.