| 
   Available in LEADTOOLS Medical Imaging toolkits.  | 
LImageViewer::RegionCallBack
#include "ltwrappr.h"
virtual L_INT LImageViewer::RegionCallBack(hRgn, nCellIndex, nSubCellIndex, uOperation)
| 
 HRGN hRgn;  | 
 /* handle to the Windows region */  | 
| 
 L_INT nCellIndex;  | 
 /* index of the cell */  | 
| 
 L_INT nSubCellIndex;  | 
 /* index of the sub-cell */  | 
| 
 L_UINT uOperation;  | 
 /* action taking regarding the existing region */  | 
This callback is called every time the user creates, changes or removes a region from one of the bitmaps displayed in a cell.
| 
 Parameter  | 
 Description  | 
|
| 
 hRgn  | 
 Handle to the Windows region.  | 
|
| 
 nCellIndex  | 
 A zero-based index of the cell that contains the region update.  | 
|
| 
 nSubCellIndex  | 
 A zero-based index of the sub-cell. This sub-cell contains the image that contains the region changed. Pass -2 to refer to the selected sub-cell.  | 
|
| 
 uOperation  | 
 The action taken regarding the existing bitmap region, if one was defined. It can be one of the following values:  | 
|
| 
 
  | 
 Value  | 
 Meaning  | 
| 
 
  | 
 L_RGN_AND  | 
 [0] An AND operation has been applied to the existing region.  | 
| 
 
  | 
 L_RGN_SET  | 
 [1] A new region has been created.  | 
| 
 
  | 
 L_RGN_ANDNOTRGN  | 
 [3] The existing region has been reduced.  | 
| 
 
  | 
 L_RGN_OR  | 
 [4] A new region has been combined with the existing one.  | 
| 
 
  | 
 L_RGN_SETNOT  | 
 [6] An inverted region has been created.  | 
| 
 
  | 
 L_RGN_REMOVE  | 
 [8] The existing region has been removed.  | 
Returns
| 
 SUCCESS  | 
 The function was successful.  | 
| 
 < 1  | 
 An error occurred. Refer to Return Codes.  | 
Comments
In order to use this callback function, it must first be set by calling the LImageViewer::EnableRegionCallBack function.
Required DLLs and Libraries
| 
 LTIVW For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.  | 
See Also
| 
 Functions:  | 
 LImageViewer::EnableActionCallBack, LImageViewer::ActionCallBack, LImageViewer::EnableRegionCallBack, Class Members  | 
| 
 Topics:  | 
|
| 
 
  | 
|
| 
 
  | 
Example
This function will make the cell set the region handle for all the frame if the user create or updated a region on one of hte frames.
#ifdef LImageViewerChild 
class LImageViewerChild :public LImageViewer
{
   virtual L_INT RegionCallBack(HRGN     hRgn,
                                L_INT    nCellIndex,
                                L_INT    nSubCellIndex,
                                L_UINT   uOperation);
} ;
#endif
L_INT LImageViewerChild::RegionCallBack(HRGN     hRgn,
                                        L_INT    nCellIndex,
                                        L_INT    nSubCellIndex,
                                        L_UINT   uOperation)
{
   UNREFERENCED_PARAMETER(hRgn);
   UNREFERENCED_PARAMETER(uOperation);
   L_INT          nCount;
   HBITMAPLIST    hBitmapList;
   L_HRGN         hSubCellRgn;
   L_INT          nI;
   LBitmapList    BitmapList;
   L_INT nRet = GetCellBitmapList( 0, &hBitmapList, 0);
   if (nRet != SUCCESS)
      return nRet;
   BitmapList.SetHandle(hBitmapList);
   nCount = BitmapList.GetItemsCount();
   BitmapList.SetHandle(NULL, NULL, FALSE);
   GetCellRegionHandle( nCellIndex, nSubCellIndex, &hSubCellRgn, 0);
   for (nI = 0; nI < nCount; nI++)
   {
      if (nSubCellIndex == nI)
         continue;
      SetCellRegionHandle( nCellIndex, nI, hSubCellRgn, L_RGN_SET, 0);
   }
   DeleteObject(hSubCellRgn);
   return SUCCESS;
}
L_INT LImageViewer_RegionHandleExample(LImageViewer& ImageViewer)
{
   ImageViewer.EnableRegionCallBack(TRUE);
   return SUCCESS;
}