LImageViewer::RepositionCell

#include "ltwrappr.h"

L_INT LImageViewer::RepositionCell (nCellIndex, nTargetIndex, bSwap, uFlags);

L_INT nCellIndex;

/* index of a cell */

L_INT nTargetIndex;

/* the new index of the cell */

L_BOOL bSwap;

/* shift or swap flag */

L_UINT uFlags;

/* reserved for future use */

Sets the position of the specified cell, based on the index of the cell.

Parameter

Description

nCellIndex

A zero-based index of the cell for which to set the position.

nTargetIndex

A zero-based index of the new cell position.

bSwap

Flag that indicates whether to perform swap on the cells specified in nCellIndex and nTargetIndex, or to shift the cells according to the parameters and then set the cell with nCellIndex, in the position of nTargetIndex.  Possible values are:

 

Value

Meaning

 

TRUE

Swap the cells.

 

FALSE

Shift the cells.

uFlags

Reserved for future use. Pass 0.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. To get extended error information, call GetLastError, and refer to Return Codes.

Comments

The row and column numbers obtained by this function are relative to the first cell in the container.

Set the bSwap flag to TRUE to swap the nCellIndex and nTargetIndex. Otherwise the function will shift the cells and then place the cell with the cell index nCellIndex in the exposed area. See the following illustration:

bSwap value when nCellIndex = 2 and nTargetIndex = 6

Cell order:

1 2 3 ... 4 5 6

TRUE

1 6 3 4 5 2

FALSE

1 3 4 5 6 2

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.

See Also

Functions:

LImageViewer::Create, LImageViewer::RemoveCell, LImageViewer::InsertCell, LImageViewer::GetCellCount, LImageViewer::GetWindowHandle, LImageViewerCell::SetCellTag, LImageViewerCell::SetCellProperties, LImageViewerCell::GetCellProperties, LImageViewer::GetCellPosition, LImageViewerCell::GetCellBitmapList, LImageViewer::GetCellBounds, LImageViewerCell::FreezeCell,, LImageViewer::SetBounds, LImageViewerCell::SelectCell, LImageViewerCell::IsCellSelected, Class Members

Topics:

Image Viewer Cells

 

Window Control/Image Viewer Functions: Image Viewer Cells

Example

The following function shuffles the order of the cells:

#if defined LTV17_CONFIG
L_INT LImageViewer_RepositionCellExample(LImageViewer& ImageViewer) 
{
   L_INT nRet;
   L_INT nI, nCount; 
   // Get the Cell Count
   nCount = ImageViewer.GetCellCount(0) ; 
   srand((L_INT)GetCurrentTime());
   // Shuffle all the cells
   for (nI = 0; nI < nCount; nI++)
   {
      nRet = ImageViewer.RepositionCell(nI, (rand() % nCount), 0, 0); 
      if(nRet != SUCCESS)
         return nRet;
   }
   return SUCCESS;
}
#else
L_INT LImageViewer_RepositionCellExample(LImageViewer& ImageViewer) 
{
   L_INT nRet;
   L_INT nI, nCount; 
   // Get the Cell Count
   nCount = ImageViewer.GetCellCount(0) ; 
   srand((L_INT)GetCurrentTime());
   // Shuffle all the cells
   for (nI = 0; nI < nCount; nI++)
   {
      nRet = ImageViewer.RepositionCell(nI, (rand() % nCount), 0, 0); 
      if(nRet != SUCCESS)
         return nRet;
   }
   return SUCCESS;
}
#endif // LTV17_CONFIG