#include "l_bitmap.h"
L_LTIVW_API L_INT EXT_FUNCTION L_DispContainerSaveAnnotation(hCellWnd, pFileName, nSubCellIndex, nStartPage, uFlags)
Saves the annotation of the specified cell or sub-cell to a file.
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.
Required DLLs and Libraries
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;
}