L_DispContainerGetAnnotationCallBack

Summary

Gets the current annotation callback function along with the user data, which were set using L_DispContainerSetAnnotationCallBack.

Syntax

#include "ltivw.h"

L_LTIVW_API L_INT EXT_FUNCTION L_DispContainerGetAnnotationCallBack(hCellWnd, ppfnCallBack, ppUserData)

Parameters

L_HWND hCellWnd

A handle to the window that represents the Medical Viewer Cell.

DISPCONTAINERANNOTATIONCALLBACK * ppfnCallBack

Pointer to a pointer to a callback function to be updated with the last annotation callback function set using L_DispContainerSetAnnotationCallBack.

LPVOID * ppUserData

Void pointer to be updated with the value of user defined data associated with the tag callback. If you are not interested in the user-defined data, pass NULL for this parameter.

Returns

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

Required DLLs and Libraries

See Also

Functions

Topics

Example

This example will convert the rectangle, ellipse or hilite annotation into region once the user clicks on them.

L_INT EXT_CALLBACK AnnotationCallBack(HWND hCellWnd, 
                                      L_UINT   uMessage, 
                                      L_INT    nX, 
                                      L_INT    nY, 
                                      L_INT    nCellIndex, 
                                      L_INT    nSubCellIndex, 
                                      L_VOID * pUserData) 
{ 
   UNREFERENCED_PARAMETER(nX); 
   UNREFERENCED_PARAMETER(nY); 
   UNREFERENCED_PARAMETER(nCellIndex); 
   UNREFERENCED_PARAMETER(uMessage); 
   UNREFERENCED_PARAMETER(pUserData); 
 
   DISPCONTAINERANNATTRIBS AnnAttrib; 
 
 
   AnnAttrib.uStructSize = sizeof(DISPCONTAINERANNATTRIBS); 
   L_DispContainerGetSelectedAnnotationAttributes(hCellWnd, nSubCellIndex, &AnnAttrib, 0); 
 
   switch(AnnAttrib.uType) 
   { 
   case ANNOBJECT_RECT: 
   case ANNOBJECT_ELLIPSE: 
   case ANNOBJECT_HILITE: 
      L_DispContainerAnnToRgn(hCellWnd, nSubCellIndex, L_RGN_OR, TRUE, 0); 
      break; 
   } 
 
   return SUCCESS; 
} 
 
L_INT DispContainerAnnotationCallbacksExample(HDISPCONTAINER hCon) 
{ 
   DISPCONTAINERANNOTATIONCALLBACK oldCallBack; 
   L_VOID *                        pOldUserData; 
 
   if (L_DispContainerGetCellCount(hCon, 0) == 0) 
   { 
      MessageBox(NULL, TEXT("you must at least have one cell added to the viewer"), TEXT("No Cell attached"), MB_OK); 
      return FAILURE; 
   } 
 
   HWND hCellWnd = L_DispContainerGetCellWindowHandle(hCon, 0, 0); 
 
   L_DispContainerGetAnnotationCallBack(hCellWnd, &oldCallBack, &pOldUserData); 
 
   L_DispContainerSetAnnotationCallBack(hCellWnd, AnnotationCallBack, hCon); 
 
   return SUCCESS; 
} 

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

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