#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);}