ImageEn, unit imageenview

TImageEnView.OnNewLayer

TImageEnView.OnNewLayer


Declaration


property OnNewLayer: TIENewLayerEvent;


Description


Occurs whenever a layer is added. It is useful to assign default properties to the layer.
Both programmatic methods (e.g. using LayersAdd) and user methods (e.g. using mlCreateShapeLayers) trigger this event.

LayerIdx is the index of the new layer.
LayerKind is the kind of layer that was added.

Notes:
- CurrentLayer will represent the new layer
- You can also use LayerDefaults to assign properties to new layers


Examples


procedure Tfmain.ImageEnView1NewLayer(Sender: TObject; LayerIdx: Integer; LayerKind: TIELayerKind);
begin
  // Assign default properties for new objects
  case LayerKind of
    ielkImage : TIEImageLayer( ImageEnView1.CurrentLayer ).AspectRatioLocked := True;
    ielkPolyline : if mlCreatePolylineLayers in ImageEnView1.MouseInteractLayers then // This ensures we don't fill the points when drawing our own polyline using miClickCreatePolylineLayer
                     TIEPolylineLayer( ImageEnView1.CurrentLayer ).SetPoints( iesExplosion, True );
    ielkText : TIETextLayer( ImageEnView1.CurrentLayer ).Text := 'Double-click to edit text';
  end;
end;

// Make new shape layer a red star
procedure TfrmMain.ImageEnView1NewLayer(Sender: TObject; LayerIdx: integer; LayerKind: TIELayerKind);
begin
  if LayerKind = ielkShape then
  begin
    TIEShapeLayer( ImageEnView1.CurrentLayer ).Shape := iesStar5;
    TIEShapeLayer( ImageEnView1.CurrentLayer ).FillColor := clRed;
  end;
end;

// Use a default icon for image layers
procedure TfrmMain.ImageEnView1NewLayer(Sender: TObject; LayerIdx: integer; LayerKind: TIELayerKind);
begin
  if LayerKind = ielkImage then
    TIEImageLayer( ImageEnView1.CurrentLayer ).Bitmap.Read( 'd:\MyIcon.ico' );
end;


See Also


- OnLayerMoveSize
- OnLayerNotifyEx
- OnLayerSelectionChange
- LayerDefaults