Available in LEADTOOLS Medical Imaging toolkits. |
L_DispContainerSaveAnnotation
#include "l_bitmap.h"
L_LTIVW_API L_INT EXT_FUNCTION L_DispContainerSaveAnnotation(hCellWnd, pFileName, nSubCellIndex, nStartPage, uFlags)
HWND hCellWnd; |
/* handle to the cell window */ |
LPTSTR pFileName; |
/* output file name */ |
L_INT nSubCellIndex; |
/* index into the image list attached to the cell */ |
L_INT nStartPage; |
/* the page number of a multi-page file */ |
L_UINT uFlags; |
/* flag */ |
Saves the annotation of the specified cell or sub-cell to a file.
Parameter |
Description |
|
hCellWnd |
A handle to the window that represents the cell on which the function's effect will be applied. |
|
pFileName |
Character string that contains the name of the file to save. |
|
nSubCellIndex |
A zero-based index into the image list attached to the cell specified in nCellIndex. This sub-cell contains the image the annotation that will be saved. Pass -2 to refer to the selected sub-cell. If the cell contains 1 frame then the nSubCellIndex should be 0. |
|
nStartPage |
The page number of a multi-page file, which can contain more than one image. |
|
uFlags |
Flag that is used to determine the way of saving the annotation. Possible values are: |
|
|
Value |
Meaning |
|
CONTAINER_FILE_CREATE |
[0x00000000] Create a file. |
|
CONTAINER_FILE_APPEND |
[0x00000001] Append an existing file. |
|
CONTAINER_FILE_REPLACE |
[0x00000002] Replace the annotation in the index nStartPage in the existing file with the new annotation. |
|
CONTAINER_FILE_INSERT |
[0x00000003] Insert the annotation in the index nStartPage in the existing file. |
Returns
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
Comments
This function saves the annotation to an XML file. To load the saved annotation file use L_DispContainerLoadAnnotation.
Required DLLs and Libraries
LTIVW |
See Also
Example
This example copied the annotation container of the sub-cell when user right clicks on it, and paste the annotation container on the sub-cell that the user click on it using the left mouse button.
#if defined LEADTOOLS_V17_OR_LATER 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_DispContainerLoadAnnotation(hCellWnd, TEXT("%UserProfile%\\My Documents\\LEADTOOLS Images\\Test.cmp"), pCellInfo->nSubCellIndex, 0, 0); } break; case WM_RBUTTONUP: L_DispContainerSaveAnnotation(hCellWnd, TEXT("%UserProfile%\\My Documents\\LEADTOOLS Images\\Test.cmp"), pCellInfo->nSubCellIndex, 0, 0); break; } return SUCCESS; } L_INT DispContainerSaveAnnotationExample(HDISPCONTAINER hCon) { DISPCONTAINERMOUSECALLBACK oldCallBack; L_VOID * pOldUserData; L_INT nCellIndex = 0; HWND hCellWnd = L_DispContainerGetCellWindowHandle(hCon, nCellIndex, 0); L_DispContainerGetMouseCallBack(hCellWnd, &oldCallBack, &pOldUserData); L_DispContainerSetMouseCallBack(hCellWnd, MouseCallBack, hCon); return SUCCESS; } #else 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_DispContainerLoadAnnotation(hCon, TEXT("%UserProfile%\\My Documents\\LEADTOOLS Images\\Test.cmp"), pCellInfo->nCellIndex, pCellInfo->nSubCellIndex, 0, 0); } break; case WM_RBUTTONUP: L_DispContainerSaveAnnotation(hCon, TEXT("%UserProfile%\\My Documents\\LEADTOOLS Images\\Test.cmp"), pCellInfo->nCellIndex, pCellInfo->nSubCellIndex, 0, 0); break; } return SUCCESS; } L_INT DispContainerSaveAnnotationExample(HDISPCONTAINER hCon) { DISPCONTAINERMOUSECALLBACK oldCallBack; L_VOID * pOldUserData; L_DispContainerGetMouseCallBack(hCon, &oldCallBack, &pOldUserData); L_DispContainerSetMouseCallBack(hCon, MouseCallBack, hCon); return SUCCESS; } #endif