Saves the annotation of the specified cell or sub-cell to a file.
#include "ltivw.h"
L_LTIVW_API L_INT EXT_FUNCTION L_DispContainerSaveAnnotation(hCellWnd, pFileName, nSubCellIndex, nStartPage, uFlags)
A handle to the window that represents the cell on which the function's effect will be applied.
Character string that contains the name of the file to save.
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.
The page number of a multipage file, which can contain more than one image.
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. |
| Value | Meaning |
|---|---|
| SUCCESS | The function was successful. |
| < 1 | An error occurred. Refer to Return Codes. |
This function saves the annotation to an XML file. To load the saved annotation file use L_DispContainerLoadAnnotation.
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.
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, MAKE_IMAGE_PATH(TEXT("IMAGE1.CMP")), pCellInfo->nSubCellIndex, 0, 0);}break;case WM_RBUTTONUP:L_DispContainerSaveAnnotation(hCellWnd, MAKE_IMAGE_PATH(TEXT("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;}