Enumerates all layers inside the class object's associated vector handle.
#include "ltwrappr.h"
virtual L_INT LVectorBase::EnumLayers(L_VOID)
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
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.
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;
}