#include "l_bitmap.h"
L_LTIVW_API L_INT EXT_FUNCTION L_DispContainerSetAnimationStartedCallBack(hCellWnd, pfnCallBack, pUserData)
L_HWND hCellWnd; |
handle to the cell window |
DISPCONTAINERANIMATIONSTARTEDCALLBACK pfnCallBack; |
callback function |
LPVOID pUserData; |
pointer to more parameters for the callback |
Sets a callback function, which will be fired if the control animation has been started.
Parameter |
Description |
hCellWnd |
A handle to the window that represents the Medical Viewer Cell. |
pfnCallBack |
Pointer to a callback function, which will be fired every time the animation, has been started using L_DispContainerStartAnimation. The callback function must adhere to the function prototype described in DISPCONTAINERANIMATIONSTARTEDCALLBACK. |
pUserData |
Void pointer that you can use to pass one or more additional parameters that the callback function needs. |
|
To use this feature, assign a value to a variable or create a structure that contains as many fields as you need. Then, in this parameter, pass the address of the variable or structure, casting it to L_VOID *. The callback function, which receives the address in its own pUserData parameter, can cast it to a pointer of the appropriate data type to access your variable or structure. |
|
If the additional parameters are not needed, you can pass NULL in this parameter. |
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
This function will set the current animation started callback; to get the current animation started callback call the L_DispContainerGetAnimationStartedCallBack function.
The cell(s) must contain multiple frames.
To start the animation, call the L_DispContainerStartAnimation function.
To stop the animation, call the L_DispContainerStopAnimation function.
To check whether the cell is in an animation phase, call the L_DispContainerIsCellAnimated function.
The user can change or retrieve the animation properties even if the animation has been started.
To retrieve the animation properties of a specific cell, call the L_DispContainerGetAnimationProperties function.
To change the animation properties of a specific cell, call the L_DispContainerSetAnimationProperties function.
Required DLLs and Libraries
LTIVW For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application. |
Platforms
The toolkit comes in Win32 and x64 editions that can support development of software applications for any of the following environments:
Windows 10
Windows 8
Windows 7
Windows Vista
Windows XP
Windows 2000
This example notifies the user when the animation has started or stopped using the AtartAnimation and StopAnimation procedures.
L_INT EXT_CALLBACK AnimationStartedCallBack(HWND hCellWnd,
L_INT nCellIndex,
L_VOID * pAnimationStartedUserData)
{
UNREFERENCED_PARAMETER(nCellIndex);
UNREFERENCED_PARAMETER(pAnimationStartedUserData);
UNREFERENCED_PARAMETER(hCellWnd);
MessageBox(NULL, TEXT("Animation started"), TEXT("Animation call Backs"), MB_OK);
return SUCCESS;
}
L_INT EXT_CALLBACK AnimationStoppedCallBack(HWND hCellWnd,
L_INT nCellIndex,
L_VOID * pAnimationStoppedUserData)
{
UNREFERENCED_PARAMETER(nCellIndex);
UNREFERENCED_PARAMETER(pAnimationStoppedUserData);
UNREFERENCED_PARAMETER(hCellWnd);
MessageBox(NULL, TEXT("Animation stopped"), TEXT("Animation call Backs"), MB_OK);
return SUCCESS;
}
L_INT DispContainerAnimationCallbacksExample(HDISPCONTAINER hCon)
{
DISPCONTAINERANIMATIONSTOPPEDCALLBACK oldAnimationStoppedCallback;
DISPCONTAINERANIMATIONSTARTEDCALLBACK oldAnimationStartedCallback;
L_VOID * oldAnimationStoppedUserData;
L_VOID * oldAnimationStartedUserData;
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_DispContainerGetAnimationStoppedCallBack(hCellWnd, &oldAnimationStoppedCallback, &oldAnimationStoppedUserData);
L_DispContainerSetAnimationStoppedCallBack(hCellWnd, AnimationStoppedCallBack, NULL);
L_DispContainerGetAnimationStartedCallBack(hCellWnd, &oldAnimationStartedCallback, &oldAnimationStartedUserData);
L_DispContainerSetAnimationStartedCallBack(hCellWnd, AnimationStartedCallBack, NULL);
return SUCCESS;
}
L_VOID StartAnimation(HDISPCONTAINER hCon)
{
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;
}
HWND hCellWnd = L_DispContainerGetCellWindowHandle(hCon, 0, 0);
L_DispContainerStartAnimation(hCellWnd, 0, -1, FALSE, 0);
}
L_VOID StopAnimation(HDISPCONTAINER hCon)
{
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;
}
HWND hCellWnd = L_DispContainerGetCellWindowHandle(hCon, 0, 0);
L_DispContainerStopAnimation(hCellWnd, 0);
}