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