在map1的屏幕中间画个点,无视extent!

解决方案 »

  1.   

    俱灰啊!毕业设计最后一步不会了,下面是用了个SpeedButton如果它为真,那么鼠标的MouseDown事件就是在map1上画点,如果为假,那么鼠标的MouseDown就是在map1上区域放大(mbleft)和拖动(mbright)我又做了一个button里面写的是一个CenterAt(X,Y)的函数,可以用他找到那个坐标,就是屏幕中间,我现在想在它中间画个点,却不知道怎么做了,哪位达人帮下忙吧,我想用SpeedButton为真时的那个画点,只是他会自动到(X,Y)哪画而不是MouseDown画。
    procedure TForm1.Map1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    var
     tl : IMoTrackingLayer;
     begin
     tl := Map1.Trackinglayer;
       if SpeedButton1.down =true then
         begin
      pt := IMoPoint(CreateOleObject('MapObjects2.Point'));
      pt := Map1.ToMapPoint(x,y);
      tl.AddEvent(pt,0);
         end
         else
         begin
         if (Button = mbLeft) then
            Map1.Extent := Map1.TrackRectangle
         else
            Map1.Pan;
            end;
    end;