Create example for Delphi
var
//Global declarations
RasterAnn: LEADRasterAnnotation;
RasterAnnToolbar: LEADRasterAnnToolBar;
procedure TForm1.Button1Click(Sender: TObject);
begin
RasterAnn:= CoLEADRasterAnnotation.Create ();
RasterAnnToolbar:= CoLEADRasterAnnToolBar.Create ();
RasterAnn.AnnParentRasterView := LEADRasterView1.Raster;
LEADEventSink1.Connect (RasterAnn, _LEADRasterAnnotationEvents);
RasterAnn.AnnUserMode:= ANN_USERMODE_DESIGN;
end;
//This example creates an annotation toolbar and adds a button to the toolbar.
//The button displays different images when selected/deselected
//The button has two tools associated with (line and button tool)
procedure TForm1.CreateToolBarClick(Sender: TObject);
var
RasterIO: LEADRasterIO;
begin
RasterIO:= CreateComObject (CLASS_LEADRasterIO) as LEADRasterIO;
RasterAnnToolbar.AnnParentRasterView:= LEADRasterView1.Raster;
RasterAnnToolbar.Visible:= True;
RasterAnnToolbar.Create (0, 0, ANN_TOOLALIGN_TOP);
if (RasterAnnToolbar.ToolBarhWnd <>0) then
begin
RasterAnnToolbar.ButtonTool [RasterAnnToolbar.ButtonCount]:= ANN_TOOL_USER_FIRST;
RasterIO.Load (LEADRasterView2.Raster, 'e:\lead14\dist\images\Ulay1.bmp', 0, 0, 1);
RasterAnnToolbar.ButtonBitmapUp [RasterAnnToolbar.ButtonCount] := LEADRasterView2.Raster.Bitmap;
RasterIO.Load (LEADRasterView2.Raster, 'e:\lead14\dist\images\Ulay2.bmp', 0, 0, 1);
RasterAnnToolbar.ButtonBitmapDown [RasterAnnToolbar.ButtonCount] := LEADRasterView2.Raster.Bitmap;
RasterAnnToolbar.ButtonToolTipTextID [RasterAnnToolbar.ButtonCount] := -1;
RasterAnnToolbar.ButtonToolTipText [RasterAnnToolbar.ButtonCount] := 'User defined tool';
ShowMessage ('AnnToolTipText: ' + RasterAnnToolbar.ButtonToolTipText[RasterAnnToolbar.ButtonCount]);
RasterAnnToolbar.ButtonToolCount [RasterAnnToolbar.ButtonCount] := 2;
RasterAnnToolbar.ButtonMenuTool [RasterAnnToolbar.ButtonCount, 0] := ANN_TOOL_LINE;
RasterAnnToolbar.ButtonMenuTextID [RasterAnnToolbar.ButtonCount, 0] := -1;
RasterAnnToolbar.ButtonMenuText[RasterAnnToolbar.ButtonCount, 0] := 'User defined tool';
RasterAnnToolbar.ButtonMenuTool[RasterAnnToolbar.ButtonCount, 1] := ANN_TOOL_BUTTON;
RasterAnnToolbar.ButtonMenuTextID[RasterAnnToolbar.ButtonCount, 1] := -1;
RasterAnnToolbar.ButtonMenuText [RasterAnnToolbar.ButtonCount, 1] := 'Button';
RasterAnnToolbar.ButtonCount := RasterAnnToolbar.ButtonCount + 1;
RasterAnn.AnnUserMode := ANN_USERMODE_DESIGN;
RasterAnn.AutoSetTool := True;
end;
end;