小辈刚接触MAPX 希望前辈们能指教.一,在DELPHI中我已经完成在图中画点,代码如下,请指正修改:
...
var
  Form1: TForm1;
  editlayer:variant;
const
  mypointtool=1;
  mylinetool=2;
...
procedure TForm1.FormActivate(Sender: TObject);
var
   s:variant;
begin
   editlayer:=map1.Layers.Item['sy'];
   map1.CreateCustomTool(mypointtool,mitooltypepoint,miSymbolCursor,miArrowCursor,miArrowCursor, s);
   map1.CreateCustomTool(mylinetool,mitooltypeline,microsscursor,miarrowcursor,miarrowcursor,s);
end;procedure TForm1.Map1ToolUsed(ASender: TObject; ToolNum: Smallint; X1, Y1,
  X2, Y2, Distance: Double; Shift, Ctrl: WordBool;
  var EnableDefault: WordBool);
var
   newobj:variant;
   pt:variant;
   pts:variant;
begin
   case toolnum of
       1:
       begin
          pt:=createoleobject('mapx.point.5');
          pt.set(x1,y1);
          newobj:=map1.FeatureFactory.CreateSymbol(pt,map1.DefaultStyle); //创建符号对象(默认符号)并赋给newobj可变量
          editlayer.addfeature(newobj);
       end;
       2:
       begin
          pts:=createoleobject('mapx.point.5');
          pts.AddXY(X1,Y1);
          pts.AddXY(X2,Y2);
          newobj:=map1.FeatureFactory.CreateLine(pts,map1.DefaultStyle);
          editlayer.addfeature(newobj);
          VarClear(pts);
       end;
   end;
end;
...
procedure TForm1.Button1Click(Sender: TObject);
begin
   map1.currenttool:=mypointtool;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
   map1.CurrentTool:=mylinetool;
end;二,现在想要实现:在2点间画线,删除已经画上的线,编辑已画上的线,删除已经画上的点,移动已经画上的点等功能
希望前辈能帮忙指教(最好有源代码)
小辈不胜感激....