#include "l_bitmap.h"
L_LTIVW_API L_INT EXT_FUNCTION L_DispContainerGetAnnotationContainer(hCellWnd, nSubCellIndex, PhAnnContainer, uFlags)
L_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. |
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
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 |
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.
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;
}