L_AnnRestrictCursor

Summary

Restricts the mouse cursor in conjunction with annotation objects.

Syntax

#include "l_bitmap.h"

L_LTANN_API L_INT L_AnnRestrictCursor(hContainer, lpRect, pPoint, prcOldClip, bRestrictClient)

Parameters

HANNOBJECT hContainer

Handle to the container object

LPRECT lpRect

Pointer to a RECT structure that contains the rectangle within which the cursor is restricted.

LPPOINT pPoint

Pointer to a POINT structure that contains the point around which the lpRect rectangle is centered.

LPRECT prcOldClip

Pointer to a RECT structure that contains the previous clip rectangle.

L_BOOL bRestrictClient

Flag that specifies whether the cursor is restricted to the client window. Possible values are:

Value Meaning
TRUE Restrict the cursor to the client window.
FALSE Do not restrict the cursor to the client window.

Returns

Value Meaning
SUCCESS The function was successful.
< 1 An error occurred. Refer to Return Codes.

Comments

This function is used to restrict the mouse cursor. It should be used when creating custom annotation objects.

Calling this function always restricts the mouse cursor to the annotation container. However, depending on the arguments passed, the mouse cursor can be restricted further .

This function can be used in the following ways:

Required DLLs and Libraries

Platforms

Win32, x64.

See Also

Functions

Topics

Example

This example restricts the cursor to 10 pixels on either side of the bounding box of the annotation object.
For example, if the object is a rectangle, the mouse cursor will be restricted to an area that is 10 pixels
larger than the rectangle.

L_INT AnnRestrictCursorExample(HANNOBJECT hObject) 
{ 
   L_INT       nRet; 
   L_UINT      uType; 
   ANNRECT     arcBounds; 
   L_RECT      rcBounds; 
   HANNOBJECT  hContainer; 
   L_RECT      rcClipOld; 
 
   nRet = L_AnnGetType(hObject, &uType); 
   if (nRet != SUCCESS) 
      return nRet; 
 
   if ((uType != ANNOBJECT_AUTOMATION) && (uType != ANNOBJECT_CONTAINER)) 
   { 
      nRet = L_AnnGetTopContainer(hObject, &hContainer); 
      if (nRet != SUCCESS) 
         return nRet; 
 
      nRet = L_AnnGetRect(hObject, &arcBounds, NULL); 
      if (nRet != SUCCESS) 
         return nRet; 
 
      nRet = L_AnnConvert(hObject, (LPPOINT)&rcBounds, (pANNPOINT)&arcBounds, 2, ANNCONVERT_TO_CLIENT); 
      if (nRet != SUCCESS) 
         return nRet; 
 
      rcBounds.left -= 10; 
      rcBounds.top -= 10; 
      rcBounds.right += 10; 
      rcBounds.bottom += 10; 
 
      nRet = L_AnnRestrictCursor(hContainer, &rcBounds, NULL, &rcClipOld, L_FALSE); 
      if (nRet != SUCCESS) 
         return nRet; 
 
      // When done with restricting cursor, call the line below 
      // ClipCursor(&rcClipOld); 
   } 
 
   return SUCCESS; 
} 

Help Version 22.0.2023.7.11
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C API Help
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.