LImageViewer::FreezeSubCell

#include "ltwrappr.h"

L_INT LImageViewer::FreezeSubCell(nCellIndex, nSubCellIndex, bFreeze, uFlags)

L_INT nCellIndex;

/* index of a cell */

L_INT nSubCellIndex;

/* index into the image list attached to the cell */

L_BOOL bFreeze;

/* flag */

L_UINT uFlags;

/* reserved for future use */

Freezes the sub-cell with the specified index.

Parameter

Description

nCellIndex

A zero-based index of the cell that contains the sub-cell being frozen. Pass -1 to freeze the sub-cell with nSubCellIndex of all cells managed by the container. Pass -2 to freeze the sub-cell with nSubCellIndex of the selected cells managed by the container.

nSubCellIndex

A zero-based index into the image list attached to the cell specified in nCellIndex. This sub-cell will be toggled to frozen or not frozen. Pass -1 to apply this effect on all sub-cells. Pass -2 to apply this effect on the selected sub-cell.

bFreeze

Flag that indicates whether to freeze or unfreeze the sub-cell at the specified index. Possible values are:

 

Value

Meaning

 

TRUE

Freeze the sub-cell.

 

FALSE

Unfreeze the sub-cell.

uFlags

Reserved for future use. Pass 0.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

The properties of a frozen sub-cell cannot be modified except by manually setting them using LImageViewer::SetActionProperties function.

To determine whether a sub-cell is frozen, call the LImageViewer::IsSubCellFrozen function. To determine whether a cell is frozen, call LImageViewer::IsCellFrozen function.

To freeze all cells call LImageViewer::FreezeCell 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.

See Also

Functions:

LImageViewer::IsSubCellFrozen, LImageViewer::IsCellFrozen, LImageViewer::FreezeCell, LImageViewer::Create, LImageViewer::RemoveCell, LImageViewer::InsertCell, LImageViewer::GetCellCount, LImageViewer::GetCellWindowHandle, LImageViewer::SetCellTag, LImageViewer::SetCellProperties, LImageViewer::GetCellProperties, LImageViewer::RepositionCell, LImageViewer::GetCellPosition, LImageViewer::SetCellBitmapList, LImageViewer::GetCellBitmapList, LImageViewer::GetCellBounds, LImageViewer::SelectCell, LImageViewer::IsCellSelected

Topics:

Image Viewer Cells

 

Window Control/Image Viewer Functions: Image Viewer Cells

Example

This example will freeze the even subcell and then type the word frozen in the middle of the frozen sub-cells.

#ifdef LImageViewerChild 
class LImageViewerChild :public LImageViewer
{
   virtual L_INT PostPaintCallBack (pDISPCONTAINERCELLINFO pCellInfo);
} ; 
#endif 
L_INT LImageViewerChild::PostPaintCallBack (pDISPCONTAINERCELLINFO pCellInfo)
{
   if (IsSubCellFrozen( pCellInfo->nCellIndex, pCellInfo->nSubCellIndex, 0))
   {
      HPEN hPen = CreatePen(PS_SOLID, 2, RGB(255, 0, 0));
      HPEN hOldPen = (HPEN)SelectObject(pCellInfo->hDC, hPen);
      MoveToEx(pCellInfo->hDC, pCellInfo->rcRect.left, pCellInfo->rcRect.top, NULL);
      LineTo(pCellInfo->hDC, pCellInfo->rcRect.right, pCellInfo->rcRect.bottom);
      MoveToEx(pCellInfo->hDC, pCellInfo->rcRect.right, pCellInfo->rcRect.top, NULL);
      LineTo(pCellInfo->hDC, pCellInfo->rcRect.left, pCellInfo->rcRect.bottom);
      SelectObject(pCellInfo->hDC, hOldPen);
      DeleteObject(hPen);
   }
   return SUCCESS;
}
L_INT LImageViewer_FreezeSubCellExample(LImageViewer& ImageViewer)
{
   L_INT       nRet;
   HBITMAPLIST hBitmapList;
   L_INT       nCount;
   L_INT       nI;
   LBitmapList BitmapList;
   nRet = ImageViewer.GetCellBitmapList( 0, &hBitmapList, 0);
   if (nRet != SUCCESS)
      return nRet;
   BitmapList.SetHandle(hBitmapList);
   nCount = BitmapList.GetItemsCount();
   BitmapList.SetHandle(NULL, NULL, FALSE);
   for (nI = 0; nI < nCount; nI++)
   {
      if (((nI >> 1) << 1) == nI )
         ImageViewer.FreezeSubCell( 0, nI, TRUE, 0);
   }
   ImageViewer.EnablePostPaintCallBack(TRUE);
   ImageViewer.RepaintCell( 0, 0, 0);
   return SUCCESS;
}