LVectorBase::EnumLayers

#include "ltwrappr"

virtual L_INT LVectorBase::EnumLayers(L_VOID)

Enumerates all layers inside the class object's associated vector handle.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

The LVectorBase::EnumLayers function calls the LVectorBase::EnumLayersCallBack function as it gets a pointer to each vector layer.

To use the LVectorBase::EnumLayersCallBack, you must derive a class from LVectorBase and override the LVectorBase::EnumLayersCallBack member function.

Required DLLs and Libraries

LVKRN

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:

LVectorBase::EnumLayersCallBack, Class Members

Topics:

Working with Vector Layers

Example

This example enumerates through all layers in a vector.

#ifdef LMyVectorBase4
class LMyVectorBase4: public LVectorBase
{
public:
   L_INT          m_nLayerCount ;
public:
   LMyVectorBase4() {m_nLayerCount=0;};
   virtual ~LMyVectorBase4(){};
   virtual L_INT EnumLayersCallBack(pVECTORHANDLE pVector, pVECTORLAYER pLayer);
};
#endif // #ifdef LMyVectorBase4
L_INT LMyVectorBase4::EnumLayersCallBack(pVECTORHANDLE pVector, pVECTORLAYER pLayer)
{
   UNREFERENCED_PARAMETER(pVector);
   LVectorLayer VectorLayer(pLayer, this);
   L_TCHAR szMsg[100];
   m_nLayerCount++;
   VECTORLAYERDESC LayerDesc;
   VectorLayer.GetLayerDesc(&LayerDesc);
   wsprintf(szMsg, TEXT("Layer\nName[%s]\nSize[%d]\nLocked[%d]\nVisible[%d]"),
      LayerDesc.szName,
      LayerDesc.nSize,
      LayerDesc.bLocked,
      LayerDesc.bVisible
      );
   MessageBox(NULL, szMsg, TEXT(""), MB_OK);  
   return SUCCESS ;
   //...LVectorLayer destructor called when VectorLayer goes out of scope
}
L_INT LVectorBase__EnumLayersExample(HWND hWnd, LMyVectorBase4 *pMyVector)
{
   UNREFERENCED_PARAMETER(hWnd);
   L_INT          nRet;
   LMyVectorBase4 MyVector;
   L_TCHAR        szMsg[100];
   pMyVector->m_nLayerCount=0;
   pMyVector->EnableCallBack(TRUE);
   nRet = pMyVector->EnumLayers();
   if(nRet != SUCCESS)
      return nRet;
   wsprintf(szMsg, TEXT("Total Layers[%d]"), pMyVector->m_nLayerCount);
   MessageBox(NULL, szMsg, TEXT(""), MB_OK);
   return SUCCESS;
}