#include "l_bitmap.h"
L_LTIVW_API L_INT EXT_FUNCTION L_DispContainerSaveAnnotation(hCellWnd, pFileName, nSubCellIndex, nStartPage, uFlags)
L_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. |
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
LTIVW |
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.
#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName
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;
}