亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? unitmainform.~pas

?? 此代碼是關于mapgis的在
?? ~PAS
?? 第 1 頁 / 共 4 頁
字號:
  if GetImageFormatConfig(MyGIS.GMapTools.MapX, @cfgStruct) then
  begin
    try
      MyGIS.GMapTools.m_Map.SaveMapAsImage(cfgStruct);
    except
      MyWarning('可能保存的圖象的長、寬過大!');
    end;
  end;
end;

procedure TForm_Main.tvLayersKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 	//處理空格鍵
  if tvLayers.Selected<>nil then
    SetTreeNodeCheckState_OnKeyDown(tvLayers, Key, DoOnNodeStateChanged);
end;

procedure TForm_Main.tvLayersMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  SelectTreeNode(tvLayers, Classes.Point(X, Y));
  if ssLeft in Shift then
    SetTreeNodeCheckState_OnMouseDown(tvLayers, X, Y, DoOnNodeStateChanged);
end;

procedure TForm_Main.DoOnNodeStateChanged(Sender: TObject; aNode: TTreeNode);

  procedure SetLayerVisible(const LayerName:string; const Visible:Boolean);
  begin
    MyGIS.GMapTools.MapX.Layers.Item[LayerName].Visible:=Visible;
  end;
  
var
//  i:Integer;
  aLayerInfo:TLayerTreeNodeRecord;
begin
  if aNode.Data=nil then Exit;
  aLayerInfo:=aNode.Data;
  case aLayerInfo.NodeType of
{    LTN_FEATURECLASS:begin
      for i:=0 to aNode.Count-1 do
      begin
        aLayerInfo:=aNode.Item[i].Data;
        SetLayerVisible(aLayerInfo^.Name, aNode.Item[i].StateIndex=TREENODESTATE_SUBCHECKEDALL);
      end;
    end;  }
    LTN_LAYER:begin
      aLayerInfo:=aNode.Data;
      SetLayerVisible(aLayerInfo.Name, aNode.StateIndex=TREENODESTATE_SUBCHECKEDALL);
    end;
  end;
end;

procedure TForm_Main.tvLayersContextPopup(Sender: TObject; MousePos: TPoint;
  var Handled: Boolean);
var
  TargetNode: TTreeNode;
  aLyr:Layer;
begin
  tvLayers.PopupMenu:=nil;
  TargetNode := tvLayers.GetNodeAt(MousePos.X,MousePos.Y);
  if TargetNode<>nil then
  begin
    if TargetNode.Level=0 then
      tvLayers.PopupMenu:=pmAllLayers
    else if TLayerTreeNodeRecord(TargetNode.Data).NodeType=LTN_FEATURECLASS then 
      tvLayers.PopupMenu:=pmFeatureClass
    else begin
      aLyr:=MyGIS.GMapTools.m_Layers.FindByName(TLayerTreeNodeRecord(TargetNode.Data).Name);
      if aLyr.Editable then
        PNEditable.Caption:='只讀模式'
      else
        PNEditable.Caption:='編輯模式';
      tvLayers.PopupMenu:=pmLayer;
    end;
    Handled:=False;
  end;
end;

procedure TForm_Main.InitEyeForm;
begin
  //鷹眼窗口初始化//
  FrmEagleEye.OperMap:=MyGIS.GMapTools.MapX;
  FrmEagleEye.GeoFileName:=AppPath+'Maps\鷹眼.GST';
  FrmEagleEye.InitLayers(True);
end;

procedure TForm_Main.tvLayersChange(Sender: TObject; Node: TTreeNode);
var
  aLayerInfo:TLayerTreeNodeRecord;
  ALyr:Layer;
begin
  if Node.Data=nil then Exit;
  aLayerInfo:=Node.Data;
  if aLayerInfo.NodeType=LTN_LAYER then
  begin
    if aLayerInfo.IsSystem then
      NAddToProject.Caption:='下載圖層到本地'
    else
      NAddToProject.Caption:='加入圖層到工程';
    PNAddToProject.Caption:=NAddToProject.Caption;
    ALyr:=MyGIS.GMapTools.MapX.Layers.Item[aLayerInfo.Name];
    if ALyr.Editable then
    begin
      EditLayer:=ALyr;
      MyGIS.GMapTools.MapX.Layers.InsertionLayer:=ALyr;
    end;
  end;
end;

procedure TForm_Main.NNewLayerClick(Sender: TObject);
var
  aLyr:Layer;
  LyrCfg:TLayerConfigInfo;
begin
  AppPath:=CheckPath(AppPath);
  LyrCfg:=TLayerConfigInfo.Create;
  try
    if GetLayerConfig(LyrCfg) then
    begin
      if LyrCfg.Fields.ItemCount=0 then
      begin
        MyDefInformation('新圖層至少應該有一個字段!');
        Exit;
      end;
      aLyr:=MyGIS.GMapTools.m_Layers.CreateCustomTableLayer(LyrCfg.LayerName,
        AppPath+'Maps\', LyrCfg.Fields, 1, True);
      AddLayerNode(SysTree, SysTreeRoot, naAddChildFirst,
        -1, aLyr.Name, AppPath+'Maps\'+LyrCfg.LayerName+'.TAB',
        False, 2, -1, 3);
      if Frame_Search1<>nil then
        Frame_Search1.LoadLayers;
    end;
  finally
    LyrCfg.Free;
  end;
end;

procedure TForm_Main.RemoveUserLayers;
var
  i:Integer;
  aNode:TTreeNode;
  aLayerInfo:TLayerTreeNodeRecord;
  aLyr:Layer;
begin
  if SysTreeRoot.Count>0 then
  begin
    for i:=SysTreeRoot.Count-1 downto 0 do
    begin
      aNode:=SysTreeRoot.Item[i];
      aLayerInfo:=aNode.Data;
      if not aLayerInfo.IsSystem then
      begin
        aLyr:=MyGIS.GMapTools.m_Layers.FindByName(aLayerInfo.Name);
        if aLyr=EditLayer then EditLayer:=nil;
        MyGIS.GMapTools.m_Layers.RemoveByName(aLayerInfo.Name);
        DeleteNode(aNode);
      end;
    end;
    FrmEagleEye.InitLayers(True);
  end;
end;

procedure TForm_Main.NRemoveLayerClick(Sender: TObject);
var
  aLayerInfo:TLayerTreeNodeRecord;
  aLyr:Layer;
begin
  if (tvLayers.Selected=nil)or(tvLayers.Selected.Data=nil) then
  begin
    MyDefInformation('請選擇要移出的用戶圖層!');
    Exit;
  end;
  aLayerInfo:=tvLayers.Selected.Data;
  if (aLayerInfo.NodeType<>LTN_LAYER)or(aLayerInfo.IsSystem) then
  begin
    MyDefInformation('只有用戶圖層可以被移出!');
    Exit;
  end;
  aLyr:=MyGIS.GMapTools.m_Layers.FindByName(aLayerInfo.Name);
  if aLyr=EditLayer then EditLayer:=nil;
  MyGIS.GMapTools.m_Layers.RemoveByName(aLayerInfo.Name);
  aLayerInfo.Free;
  tvLayers.Selected.Delete;
  FrmEagleEye.InitLayers(True);
  if Frame_Search1<>nil then
    Frame_Search1.LoadLayers;
end;

procedure TForm_Main.NLayerOptionsClick(Sender: TObject);
var
  Changed:Boolean;
begin
  ConfigMapLayers(MyGIS.GMapTools.MapX, Changed);
end;

procedure TForm_Main.MoveLayer(const FromIndex, ToIndex: Integer);
begin
  UnitShellAPIs.MoveLayer(MyGIS.GMapTools.MapX, FromIndex, ToIndex);
end;

procedure TForm_Main.SetLayerAutoLabel(const Index: Integer;
  const AutoLabel: Boolean);
begin
  UnitShellAPIs.SetLayerAutoLabel(MyGIS.GMapTools.MapX, SysTreeRoot, Index, AutoLabel);
end;

procedure TForm_Main.SetLayerEditable(const Index: Integer;
  const Editable: Boolean);
var
  aLyr:Layer;
begin
  UnitShellAPIs.SetLayerEditable(MyGIS.GMapTools.MapX, Index, Editable);
  aLyr:=MyGIS.GMapTools.MapX.Layers.Item[Index];
  if not aLyr.Editable then
    SBar.Panels[3].Text:='無';
  begin
    //觸發選擇集合變化//
    if Frame_DrawShape1<>nil then
      Frame_DrawShape1.SelectionChanged;
    //顯示當前編輯圖層名稱//
    SBar.Panels[3].Text:=aLyr.Name;
  end
  else
  //重置命令按鈕//
  SetRadioCommand(TBtnSelectTool);
end;

procedure TForm_Main.SetLayerSelectable(const Index: Integer;
  const Selectable: Boolean);
begin
  UnitShellAPIs.SetLayerSelectable(MyGIS.GMapTools.MapX, Index, Selectable);
end;

procedure TForm_Main.SetLayerVisible(const Index: Integer;
  const Visible: Boolean);
begin
  UnitShellAPIs.SetLayerVisible(MyGIS.GMapTools.MapX, Index, Visible);
end;

procedure TForm_Main.RemoveuserLayer(const Index: Integer);
begin
  UnitShellAPIs.RemoveuserLayer(MyGIS.GMapTools.MapX, Index);
  FrmEagleEye.InitLayers(True);
end;

procedure TForm_Main.NToRegionClick(Sender: TObject);
var
  i:Integer;
begin
  for i:=1 to MyGIS.GMapTools.MapX.layers.Count do
  begin
    with MyGIS.GMapTools.m_Layer do
    begin
      Layer:=MyGIS.GMapTools.MapX.layers.Item[i];
      AddRegionsFromSelectedLines;
    end;
  end;
end;

procedure TForm_Main.NToLineClick(Sender: TObject);
var
  i:Integer;
begin
  for i:=1 to MyGIS.GMapTools.MapX.layers.Count do
  begin
    with MyGIS.GMapTools.m_Layer do
    begin
      Layer:=MyGIS.GMapTools.MapX.layers.Item[i];
      AddLinesFromSelectedRegions;
    end;
  end;
end;

procedure TForm_Main.NClipWithRectClick(Sender: TObject);
begin
  CheckEditLayer;
  with MyGIS.GMapTools.m_Layer do
  begin
    Layer:=EditLayer;
    BreakFeatureLineOrRegion(SourceFts);
  end;
end;

procedure TForm_Main.DoCanExecute_CreateShape(Sender, Trigger: TObject;
  var CanExec: Boolean);
begin
  try
    CheckEditLayer;
    CanExec:=True;
  except
    CanExec:=False;
  end;
end;

procedure TForm_Main.NMakeTargetClick(Sender: TObject);
begin
  CheckEditLayer;
  if editlayer.Selection.Count=0 then
  begin
    MyDefInformation('請選擇編輯圖層里的一個對象!');
    Exit;
  end;
  SourceFts:=editlayer.Selection.Clone;
  editlayer.NoFeatures;
  editlayer.Selection.ClearSelection;
end;

procedure TForm_Main.NClearTargetClick(Sender: TObject);
begin
  SourceFts:=nil;
end;

procedure TForm_Main.NPasteClick(Sender: TObject);
begin
  CheckEditLayer;
  with MyGIS.GMapTools.m_Layer do
  begin
    BeforeDeleteFeature:=DoBeforeDeleteFeature;
    OnFeatureCreate:=DoOnFeatureCreate;
    Layer:=EditLayer;
    Paste;
  end;
end;

procedure TForm_Main.NCopyClick(Sender: TObject);
begin
  if not MyGIS.GMapTools.m_Map.Copy then
    MyDefInformation('請在當前編輯圖層內選擇要復制的對象!');
end;

procedure TForm_Main.NCutClick(Sender: TObject);
begin
  CheckEditLayer;
  if editlayer.Selection.Count=0 then
  begin
    MyDefInformation('請在當前編輯圖層內選擇要剪切的對象!');
    Exit;
  end;
  with MyGIS.GMapTools.m_Layer do
  begin
    BeforeDeleteFeature:=DoBeforeDeleteFeature;
    OnFeatureCreate:=DoOnFeatureCreate;
    Layer:=EditLayer;
    Cut;
  end;
end;

procedure TForm_Main.RefreshSelectionRecords;

  function LayerInSelection(Layer:CMapXLayer):Boolean;
  var
    i:Integer;
    Lyr:CMapXLayer;
  begin
    for i:=1 to MyGIS.GMapTools.MapX.Layers.Count do
    begin
      Lyr:=MyGIS.GMapTools.MapX.Layers.Item[i];
      if (Lyr=Layer)and(Lyr.Selection<>nil)and(Lyr.Selection.Count>0) then
      begin
        Result:=True;
        Exit;
      end;
    end;
    Result:=False;
  end;

  function GetRecordFrame(Layer:CMapXLayer):TFrame_Records;
  var
    i:Integer;
    ARecFrame:TFrame_Records;
  begin
    for i:=0 to ScrollBox1.ControlCount-1 do
      if ScrollBox1.Controls[i] is TFrame then
      begin
        ARecFrame:=ScrollBox1.Controls[i] as TFrame_Records;
        if ARecFrame.Layer=Layer then
        begin
          Result:=ARecFrame;
          Exit;
        end;
      end;
    Result:=nil;
  end;
  
var
  i, j:Integer;
  ALyr:CMapXLayer;
  SelLyrCount:Integer;
  ARecFrame:TFrame_Records;
begin
  if ScrollBox1=nil then Exit;
  
  SelLyrCount:=GetSelectionLayerCount;
  
  for i:=ScrollBox1.ControlCount-1 downto 0 do
    if ScrollBox1.Controls[i] is TFrame then
    begin
      ARecFrame:=ScrollBox1.Controls[i] as TFrame_Records;
      if not LayerInSelection(ARecFrame.Layer) then
      begin
        if ARecFrame.Splitter<>nil then
          ARecFrame.Splitter.Free;
        ARecFrame.Free;
      end;
    end;

  j:=0;
  for i:=1 to MyGIS.GMapTools.MapX.Layers.Count do
  begin
    ALyr:=MyGIS.GMapTools.MapX.Layers.Item[i];
    if (ALyr.Selection<>nil)and(ALyr.Selection.Count>0) then
    begin
      Inc(j);
      ARecFrame:=GetRecordFrame(ALyr);
      if ARecFrame=nil then
      begin
        ARecFrame:=TFrame_Records.Create(Self);
        ARecFrame.Name:='';
        ARecFrame.Parent:=ScrollBox1;
        if j=SelLyrCount then
          ARecFrame.Align:=alClient
        else
          ARecFrame.Align:=alTop;
      end;
      {設置MapX}
      ARecFrame.MapX:=MyGIS.GMapTools.MapX;
      {設置圖層}
      ARecFrame.Layer:=ALyr;
      ARecFrame.LayerData:=GetLayerData(ALyr);
      if ALyr.DataSets.Count>0 then
      begin
        {設置數據集}
        ARecFrame.DataSet:=ALyr.DataSets.Item[1];
        {初始化網格}
        ARecFrame.InitGrid;
        {填寫標題}
        ARecFrame.InitGridTitle;
        {首先調用MyGIS寫數據,如果返回為False,則以默認方式填寫數據}
        if not MyGIS.DoWriteDataGridData(ARecFrame) then
          ARecFrame.DefWriteGridData;
      end;
    end;
  end;
end;

function TForm_Main.GetSelectionLayerCount: Integer;
var
  i:Integer;
  Lyr:CMapXLayer;
begin
  Result:=0;
  for i:=1 to MyGIS.GMapTools.MapX.Layers.Count do
  begin
    Lyr:=MyGIS.GMapTools.MapX.Layers.Item[i];
    if (Lyr.Selection<>nil)and(Lyr.Selection.Count>0) then
    begin
      Inc(Result);
      Exit;
    end;
  end;
end;


procedure TForm_Main.N65Click(Sender: TObject);
var
  i:Integer;
  Rect:CMapXRectangle;
begin
  Rect:=CoRectangle.Create;
  Rect:=MyGIS.GMapTools.MapX.Bounds;
  for i:=1 to MyGIS.GMapTools.MapX.Layers.Count do
    MyGIS.GMapTools.MapX.Layers.Item[i].CoordSys
end;

procedure TForm_Main.N31Click(Sender: TObject);
var
  aLyr:Layer;
begin
  aLyr:=GetLayerFromTreeNode(tvLayers.Selected);
  if aLyr=nil then Exit;
  MyGIS.GMapTools.MapX.Bounds := aLyr.Bounds;
end;

procedure TForm_Main.N23Click(Sender: TObject);
begin
  MyGIS.GMapTools.MapX.Bounds := MyGIS.GMapTools.MapX.Layers.Bounds;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品第一国产综合野| 亚洲123区在线观看| 91在线视频播放地址| 亚洲美女淫视频| 欧美人体做爰大胆视频| 久久精品国产一区二区三| 精品国产sm最大网站免费看| 国产aⅴ精品一区二区三区色成熟| 亚洲国产成人在线| 精品视频免费在线| 国产v日产∨综合v精品视频| 亚洲国产日韩精品| 国产拍欧美日韩视频二区| 欧美日韩一级片在线观看| 精品一区二区三区在线播放| 亚洲精品视频在线看| 久久婷婷综合激情| 欧美一卡二卡在线观看| 99国产精品国产精品毛片| 久国产精品韩国三级视频| 中文字幕精品一区二区精品绿巨人| 欧美日韩一区二区在线观看视频| 国产一区二区看久久| 青青青伊人色综合久久| 午夜视频一区二区| 亚洲一级片在线观看| 亚洲天堂成人在线观看| 国产精品麻豆欧美日韩ww| 日本一区二区三区免费乱视频| 欧美第一区第二区| 久久久久久一二三区| 国产亚洲一区二区三区四区| 国产日产欧美一区二区三区| 中文字幕在线不卡一区| 一区二区三区中文在线观看| 天天综合网 天天综合色| 免费在线观看一区二区三区| 国产一区二区电影| 91视频观看视频| 制服丝袜亚洲精品中文字幕| 精品捆绑美女sm三区| 国产精品乱码人人做人人爱| 一区二区欧美视频| 美女视频黄a大片欧美| 国产成a人无v码亚洲福利| 欧洲亚洲国产日韩| 亚洲国产精品二十页| 亚洲成人av一区二区三区| 高清beeg欧美| 欧美一级黄色录像| 一区二区三区欧美亚洲| 精品系列免费在线观看| 欧美色中文字幕| 国产精品成人免费| 麻豆久久久久久| 欧美日韩视频专区在线播放| 奇米精品一区二区三区四区 | 日韩美女视频在线| 亚洲女人小视频在线观看| 免费观看在线色综合| 欧美日韩一区二区三区四区五区| 国产亚洲精品aa午夜观看| 日韩中文字幕1| 欧美精品在线观看一区二区| 一区二区三区在线视频播放| 国产成人av一区| 欧美国产禁国产网站cc| 国产精品18久久久久久久久久久久| 这里是久久伊人| 丝袜诱惑亚洲看片| 91精品国产综合久久蜜臀| 午夜久久久影院| 欧美日韩国产精品自在自线| 亚洲美女偷拍久久| 欧美精品久久天天躁| 热久久久久久久| 欧美精品一区男女天堂| 国产69精品久久99不卡| 国产精品成人一区二区三区夜夜夜 | 国产精品三级视频| 在线观看区一区二| 午夜精品福利久久久| 精品黑人一区二区三区久久| 国产91丝袜在线播放0| 一区二区三区国产| 欧美成人官网二区| 色哟哟国产精品| 国产精品一级片在线观看| 一区二区三区国产精品| 国产偷国产偷精品高清尤物| jlzzjlzz国产精品久久| 奇米色一区二区三区四区| 国产精品国产精品国产专区不蜜| 欧美性猛交一区二区三区精品| 国产在线一区二区综合免费视频| 亚洲色图欧美在线| 精品毛片乱码1区2区3区 | 欧美午夜电影网| 成人18视频在线播放| 精品一区二区久久| 亚洲图片欧美视频| 亚洲天堂成人网| 国产日韩欧美一区二区三区乱码 | 亚洲精品福利视频网站| 国产精品视频观看| 国产精品国产a| 国产人成亚洲第一网站在线播放 | 欧美视频日韩视频在线观看| 成人免费高清视频| 波多野结衣中文一区| 成人av手机在线观看| 国产成人免费av在线| 成人avav影音| 色婷婷综合久色| 884aa四虎影成人精品一区| 日韩一区国产二区欧美三区| 欧美一二三区在线观看| 久久久综合视频| 国产精品女同一区二区三区| 国产精品看片你懂得| 一区二区三区高清在线| 免费一级片91| 成人午夜免费视频| 在线观看日韩电影| 久久亚洲影视婷婷| 亚洲综合色丁香婷婷六月图片| 亚洲一区二区三区美女| 精品午夜久久福利影院| 成人av动漫网站| 日韩欧美三级在线| 国产精品成人在线观看| 婷婷中文字幕一区三区| 国产裸体歌舞团一区二区| 色网综合在线观看| 国产清纯白嫩初高生在线观看91| 亚洲一区二区三区四区的| 国产不卡视频一区二区三区| 欧美日韩国产大片| 亚洲精品免费在线播放| 国产黄人亚洲片| 日韩精品中文字幕一区| 亚洲成人免费影院| 色av成人天堂桃色av| 久久你懂得1024| 国产传媒欧美日韩成人| 日韩一级大片在线观看| 亚洲成a人片在线不卡一二三区| 高清视频一区二区| 国产精品久久久久毛片软件| 精品一区二区精品| 久久久久久亚洲综合影院红桃| 日韩激情视频在线观看| 91精品国产一区二区人妖| 亚洲国产sm捆绑调教视频| 在线观看国产日韩| 亚洲综合色视频| 日韩亚洲欧美一区二区三区| 麻豆一区二区三| 精品国产乱码久久久久久1区2区| 蜜臀va亚洲va欧美va天堂 | 欧美四级电影在线观看| 亚洲一二三区视频在线观看| 色香蕉成人二区免费| 图片区日韩欧美亚洲| 日韩欧美三级在线| 91一区二区在线| 日本午夜精品视频在线观看| 日韩精品一区二| 91久久线看在观草草青青| 人禽交欧美网站| 中文字幕在线一区免费| 欧美精品久久天天躁| 国产91丝袜在线播放| 全部av―极品视觉盛宴亚洲| 国产无遮挡一区二区三区毛片日本| 99久久伊人久久99| 国产在线乱码一区二区三区| 最新日韩av在线| 久久久久久久综合色一本| 91搞黄在线观看| 国产高清久久久久| 国产综合成人久久大片91| 丝袜a∨在线一区二区三区不卡| 国产偷国产偷亚洲高清人白洁| 欧美日韩三级一区二区| 粗大黑人巨茎大战欧美成人| 天堂在线一区二区| 亚洲国产成人tv| 午夜国产精品一区| 亚洲主播在线播放| 亚洲综合在线电影| 亚洲美女视频在线观看| 亚洲欧洲无码一区二区三区| 久久精品人人爽人人爽| 国产欧美日韩综合| 久久精品网站免费观看| 亚洲精品在线一区二区| 久久亚洲欧美国产精品乐播| 欧美大片拔萝卜| 国产日韩欧美精品电影三级在线|