Starts an animation in the specific cell(s).
#include "ltivw.h"
L_LTIVW_API L_INT L_DispContainerStartAnimation(hCellWnd, nStartFrame, nFrameCount, bAnimateAllSubCells, uFlags)
A handle to the window that represents the cell on which the function's effect will be applied.
Value that represents the initial frame to start animation from.
Value that represents the number of frames that the animation will go through.
Flag that indicates whether to animate all sub-cells (If the cell layout shows more than one frame at a time). Possible values are:
Value | Meaning |
---|---|
TRUE | Animate all sub-cells. |
FALSE | Do not animate all sub-cells |
Reserved for future use. Pass 0.
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
The cell(s) must contain multiple frames.
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 is 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.
This function starts an animation for the pass nCellIndex, we assumed that the cell with index (nCellIndex) contains multiple frames.
L_INT DispContainerStartAnimationExample(HDISPCONTAINER hCon, L_INT nCellIndex)
{
DISPANIMATIONPROPS DispAnimationProps;
HBITMAPLIST hBitmapList;
L_INT nCount;
if (nCellIndex < 0 || nCellIndex > L_DispContainerGetCellCount(hCon, 0))
return ERROR_INV_PARAMETER;
HWND hCellWnd = L_DispContainerGetCellWindowHandle(hCon, nCellIndex, 0);
L_DispContainerGetAnimationProperties(hCellWnd, &DispAnimationProps, 0);
DispAnimationProps.uInterval = 100;
DispAnimationProps.uFlags = CONTAINER_ANIMATION_DIRECTION_FORWARD;
L_DispContainerSetAnimationProperties(hCellWnd, &DispAnimationProps, 0);
L_DispContainerGetCellBitmapList(hCellWnd, &hBitmapList, 0);
L_GetBitmapListCount(hBitmapList, (L_UINT*)&nCount);
if (!L_DispContainerIsCellAnimated(hCellWnd, 0))
L_DispContainerStartAnimation(hCellWnd, 0, nCount, TRUE, 0);
return SUCCESS;
}