Take the following steps to show/hide layers from a vector drawing:
Start with the project you created in Implementing Hit Testing.
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 (MAKE_IMAGE_PATH(TEXT("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 indexif( wParam == '1' )nIndex = 0;elsenIndex = 1;L_VecGetLayerByIndex ( &Vector, nIndex, &Layer );L_VecGetLayer ( &Vector, &Layer, &LayerDesc );// flip the visible state of the layerLayerDesc.bVisible = !LayerDesc.bVisible;// updateL_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. |