|
Available in LEADTOOLS Medical Imaging toolkits. |
L_DispContainerGetAnnotationContainer
#include "l_bitmap.h"
L_LTIVW_API L_INT EXT_FUNCTION L_DispContainerGetAnnotationContainer(hCellWnd, nSubCellIndex, PhAnnContainer, uFlags)
|
HWND hCellWnd; |
/* handle to the cell window */ |
|
L_INT nSubCellIndex; |
/* index into the image list attached to the cell */ |
|
HANNOBJECT * PhAnnContainer; |
/* address of the variable to be updated */ |
|
L_UINT uFlags; |
/* reserved for future */ |
Gets the annotation container for the specific frame.
|
Parameter |
Description |
|
hCellWnd |
A handle to the window that represents the cell on which the function's effect will be applied. |
|
nSubCellIndex |
A zero-based index into the image list attached to the cell specified in nCellIndex. This sub-cell contains the image that contains the annotation container. Pass -2 to refer to the selected sub-cell. |
|
PhAnnContainer |
Address of the variable to be updated with the handle to the annotation object that is found at the specified point. |
|
uFlags |
Reserved for future use. Pass 0. |
Returns
|
SUCCESS |
The function was successful. |
|
< 1 |
An error occurred. Refer to Return Codes. |
Comments
This function gets a copy of the annotation container. You must free it once it is no longer needed.
This function gets the annotation container. To set the annotation container use L_DispContainerSetAnnotationContainer.
Required DLLs and Libraries
|
LTIVW |
See Also
Example
This example will copy the annotation container from the specified sub-cell clicked by the user using the left mouse button, and paste the annotation container on the specified sub-cell clicked by the user using the right mouse button.
#if defined LEADTOOLS_V17_OR_LATER
HANNOBJECT hContainer;
static L_INT EXT_CALLBACK MouseCallBack(HWND hCellWnd,
L_UINT uMessage,
pDISPCONTAINERCELLINFO pCellInfo,
L_VOID * pUserData)
{
UNREFERENCED_PARAMETER(pCellInfo);
UNREFERENCED_PARAMETER(pUserData);
switch(uMessage)
{
case WM_LBUTTONUP:
L_DispContainerGetAnnotationContainer(hCellWnd, pCellInfo->nSubCellIndex, &hContainer, 0);
break;
case WM_RBUTTONUP:
L_DispContainerSetAnnotationContainer(hCellWnd, pCellInfo->nSubCellIndex, hContainer, 0);
break;
}
return SUCCESS;
}
L_INT DispContainerGetAnnotationContainerExample(HDISPCONTAINER hCon)
{
DISPCONTAINERMOUSECALLBACK 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_DispContainerGetMouseCallBack(hCellWnd, &oldCallBack, &pOldUserData);
L_DispContainerSetMouseCallBack(hCellWnd, MouseCallBack, hCon);
return SUCCESS;
}
#else
HANNOBJECT hContainer;
static L_INT EXT_CALLBACK MouseCallBack(L_UINT uMessage,
pDISPCONTAINERCELLINFO pCellInfo,
L_VOID * pUserData)
{
UNREFERENCED_PARAMETER(pCellInfo);
HDISPCONTAINER hCon = (HDISPCONTAINER)pUserData;
switch(uMessage)
{
case WM_LBUTTONUP:
L_DispContainerGetAnnotationContainer(hCon, pCellInfo->nCellIndex, pCellInfo->nSubCellIndex, &hContainer, 0);
break;
case WM_RBUTTONUP:
L_DispContainerSetAnnotationContainer(hCon, pCellInfo->nCellIndex, pCellInfo->nSubCellIndex, hContainer, 0);
break;
}
return SUCCESS;
}
L_INT DispContainerGetAnnotationContainerExample(HDISPCONTAINER hCon)
{
DISPCONTAINERMOUSECALLBACK oldCallBack;
L_VOID * pOldUserData;
L_DispContainerGetMouseCallBack(hCon, &oldCallBack, &pOldUserData);
L_DispContainerSetMouseCallBack(hCon, MouseCallBack, hCon);
return SUCCESS;
}
#endif