Working with Layers

Start with the project you created in Implementing Hit Testing.

Take the following steps to show/hide layers from a vector drawing:

1.

Add these local variables under the HDC hDC; statement in the WndProc function:

L_INT nIndex;
VECTORLAYER Layer;
VECTORLAYERDESC LayerDesc;

2.

Add the following lines in WM_CREATE handler right after L_VecInit ( &Vector ); statement:

L_VecLoadFile ( TEXT("c:\\lead\\images\\random.dxf"), &Vector, NULL, NULL );

3.

Add the following lines before the case 'x' statement of the WM_CHAR message:

   case '1':
   case '2':
  // get layer from index 
  if( wParam == '1' )
   nIndex = 0;
  else
   nIndex = 1;

  L_VecGetLayerByIndex ( &Vector, nIndex, &Layer );
  L_VecGetLayer ( &Vector, &Layer, &LayerDesc );

  // flip the visible state of the layer
  LayerDesc.bVisible = !LayerDesc.bVisible;

  // update
  L_VecSetLayer ( &Vector, &Layer, &LayerDesc );
  L_VecFreeLayer ( &LayerDesc );
  InvalidateRect( hWnd, NULL, FALSE );
  break;

4.

Compile and run the demo.

5.

The sample image (random.dxf) shipped with LEADTOOLS has 2 layers. You should be able to hide/show those layers by pressing 1 and 2 on your keyboard.