⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainfrm.pas

📁 Delphi + MapX程序框架(地图)源码程序
💻 PAS
📖 第 1 页 / 共 2 页
字号:
    AForm:= TfrmMap(cxTabControl1.Tabs.Objects[cxTabControl1.TabIndex]);
    if AForm <> nil then ShowMapFile(AForm.FileName,AForm);
  end
  else begin
    ResetHawkMap('');
    ResetLayers(nil,nil);
    dxStatusBar1.Panels[1].Text:= '';
  end;
end;

procedure TfrmMain.ViewLayersExecute(Sender: TObject);
begin
  pnlLayers.Visible:= not pnlLayers.Visible;
end;

procedure TfrmMain.ViewHawkMapExecute(Sender: TObject);
begin
  pnlHawk.Visible:= not pnlHawk.Visible;
end;

procedure TfrmMain.ViewSchemeExecute(Sender: TObject);
begin
  pnlEvaScheme.Visible:= not pnlEvaScheme.Visible;
end;

procedure TfrmMain.ResetHawkMap(FileName: string);
begin
  FHawkMap.FileName:= FileName;
end;

procedure TfrmMain.ResetLayers(Layers, VisibleLayers: TStringList);
var
  I, J: Integer;
begin
  if (Layers = nil) and (VisibleLayers = nil) then
  begin
    clbLayers.Clear;
    Exit;
  end;
  clbLayers.Items.Assign(Layers);
  for I:= 0 to clbLayers.Items.Count-1 do
    clbLayers.Checked[I]:= False;
  for I:= 0 to VisibleLayers.Count-1 do
    for J:= 0 to clbLayers.Items.Count-1 do
      if clbLayers.Items.Strings[J] = VisibleLayers.Strings[I] then
      begin
        clbLayers.Checked[J]:= True;
        Break;
      end;
  if clbLayers.Count > 0 then
  begin
    clbLayers.ItemIndex:= 0;
    clbLayers.OnClick(nil);
  end;
end;

procedure TfrmMain.clbLayersClickCheck(Sender: TObject);
begin
  if (clbLayers.ItemIndex <> -1) then
    TfrmMap(ActiveMDIChild).MyMap.SetLayerVisible(
      clbLayers.Items.Strings[clbLayers.ItemIndex],
      clbLayers.Checked[clbLayers.ItemIndex]);
end;

procedure TfrmMain.clbLayersClick(Sender: TObject);
begin
  if (clbLayers.ItemIndex <> -1) then
    TfrmMap(ActiveMDIChild).MyMap.WorkLayer:=
      clbLayers.Items.Strings[clbLayers.ItemIndex];
end;

procedure TfrmMain.ZoomInToolExecute(Sender: TObject);
begin
  if ActiveMDIChild <> nil then
    TfrmMap(ActiveMDIChild).MyMap.CurrentTool:= mttZoomInTool;
end;

procedure TfrmMain.ZoomOutToolExecute(Sender: TObject);
begin
  if ActiveMDIChild <> nil then
    TfrmMap(ActiveMDIChild).MyMap.CurrentTool:= mttZoomOutTool;
end;

procedure TfrmMain.PanToolExecute(Sender: TObject);
begin
  if ActiveMDIChild <> nil then
    TfrmMap(ActiveMDIChild).MyMap.CurrentTool:= mttPanTool;
end;

procedure TfrmMain.PointSelectToolExecute(Sender: TObject);
begin
  if ActiveMDIChild <> nil then
    TfrmMap(ActiveMDIChild).MyMap.CurrentTool:= mttPointSelectTool;
end;

procedure TfrmMain.RadiusSelectToolExecute(Sender: TObject);
begin
  if ActiveMDIChild <> nil then
    TfrmMap(ActiveMDIChild).MyMap.CurrentTool:= mttRadiusSelectTool;
end;

procedure TfrmMain.RectSelectToolExecute(Sender: TObject);
begin
  if ActiveMDIChild <> nil then
    TfrmMap(ActiveMDIChild).MyMap.CurrentTool:= mttRectSelectTool;
end;

procedure TfrmMain.PolygonSelectToolExecute(Sender: TObject);
begin
  if ActiveMDIChild <> nil then
    TfrmMap(ActiveMDIChild).MyMap.CurrentTool:= mttPolygonSelectTool;
end;

procedure TfrmMain.RulerToolExecute(Sender: TObject);
begin
  if ActiveMDIChild <> nil then
    TfrmMap(ActiveMDIChild).MyMap.CurrentTool:= mttRulerTool;
end;

procedure TfrmMain.AreaToolExecute(Sender: TObject);
begin
  if ActiveMDIChild <> nil then
    TfrmMap(ActiveMDIChild).MyMap.CurrentTool:= mttAreaTool;
end;

procedure TfrmMain.InforToolExecute(Sender: TObject);
begin
  if ActiveMDIChild <> nil then
    TfrmMap(ActiveMDIChild).MyMap.CurrentTool:= mttInforTool;
end;

procedure TfrmMain.LabelToolExecute(Sender: TObject);
begin
  if ActiveMDIChild <> nil then
    TfrmMap(ActiveMDIChild).MyMap.CurrentTool:= mttLabelTool;
end;

procedure TfrmMain.TitleSettingExecute(Sender: TObject);
begin
  if ActiveMDIChild <> nil then
    TfrmMap(ActiveMDIChild).MyMap.TitleSetting;
end;

procedure TfrmMain.LayerSettingExecute(Sender: TObject);
var
  List1, List2: TStringList;
begin
  if ActiveMDIChild <> nil then
  begin
    TfrmMap(ActiveMDIChild).MyMap.LayerSetting;
    List1:= TStringList.Create;
    List2:= TStringList.Create;
    TfrmMap(ActiveMDIChild).MyMap.Get_Layers(List1);
    TfrmMap(ActiveMDIChild).MyMap.Get_VisibleLayers(List2);
    ResetLayers(List1, List2);
    List1.Free;
    List2.Free;
  end;
end;

procedure TfrmMain.ThemeSettingExecute(Sender: TObject);
begin
  if ActiveMDIChild <> nil then
  begin
    TfrmMap(ActiveMDIChild).MyMap.ThemeSetting;
  end;
end;

procedure TfrmMain.OpenFileExecute(Sender: TObject);
begin
  if OpenDialog1.Execute then
    ShowMapFile(OpenDialog1.FileName, nil);
end;

procedure TfrmMain.NewFileExecute(Sender: TObject);
begin
  ShowMapFile('',nil);
end;

procedure TfrmMain.SaveFileExecute(Sender: TObject);
begin
  if (ActiveMDIChild <> nil) and (TfrmMap(ActiveMDIChild).MyMap.GetLayerCount > 0) then
    TfrmMap(ActiveMDIChild).MyMap.SaveAsGstFile;
end;

procedure TfrmMain.SaveGraphExecute(Sender: TObject);
begin
  if (ActiveMDIChild <> nil) and (TfrmMap(ActiveMDIChild).MyMap.GetLayerCount > 0) then
    TfrmMap(ActiveMDIChild).MyMap.SaveAsGraph;
end;

procedure TfrmMain.PrintMapExecute(Sender: TObject);
begin
  if (ActiveMDIChild <> nil) and (TfrmMap(ActiveMDIChild).MyMap.GetLayerCount > 0) then
    TfrmMap(ActiveMDIChild).MyMap.PrintMap;
end;

procedure TfrmMain.ActionList1Update(Action: TBasicAction;
  var Handled: Boolean);
begin
  if ActiveMDIChild <> nil then
  begin
    ZoomInTool.Checked:= TfrmMap(ActiveMDIChild).MyMap.CurrentTool = mttZoomInTool;
    ZoomOutTool.Checked:= TfrmMap(ActiveMDIChild).MyMap.CurrentTool = mttZoomOutTool;
    PanTool.Checked:= TfrmMap(ActiveMDIChild).MyMap.CurrentTool = mttPanTool;
    PointSelectTool.Checked:= TfrmMap(ActiveMDIChild).MyMap.CurrentTool = mttPointSelectTool;
    RadiusSelectTool.Checked:= TfrmMap(ActiveMDIChild).MyMap.CurrentTool = mttRadiusSelectTool;
    RectSelectTool.Checked:= TfrmMap(ActiveMDIChild).MyMap.CurrentTool = mttRectSelectTool;
    PolygonSelectTool.Checked:= TfrmMap(ActiveMDIChild).MyMap.CurrentTool = mttPolygonSelectTool;
    InforTool.Checked:= TfrmMap(ActiveMDIChild).MyMap.CurrentTool = mttInforTool;
    LabelTool.Checked:= TfrmMap(ActiveMDIChild).MyMap.CurrentTool = mttLabelTool;
    RulerTool.Checked:= TfrmMap(ActiveMDIChild).MyMap.CurrentTool = mttRulerTool;
    AreaTool.Checked:= TfrmMap(ActiveMDIChild).MyMap.CurrentTool = mttAreaTool;
    FAnalyseSetting.Enabled:= atSelected in TfrmMap(ActiveMDIChild).MyMap.GetAnalyseTypes(TfrmMap(ActiveMDIChild).MyMap.GetLayerSelection(TfrmMap(ActiveMDIChild).MyMap.WorkLayer));
  end;
  ViewLayers.Checked:= pnlLayers.Visible;
  ViewScheme.Checked:= pnlEvaScheme.Visible;
  ViewHawkMap.Checked:= pnlHawk.Visible;
end;


procedure TfrmMain.TaskConfigExecute(Sender: TObject);
begin
  //Global.RunDLL('E:\徐志扬\我的程序\Delphi\我的工程\模型库\监测任务管理模型(改进测试)\TaskManage.dll',1);
end;

procedure TfrmMain.SearchSettingExecute(Sender: TObject);
begin
  TfrmMap(ActiveMDIChild).MyMap.SearchSetting;
end;

procedure TfrmMain.FAnalyseSettingExecute(Sender: TObject);
begin
  TfrmMap(ActiveMDIChild).MyMap.AnalyseSetting(atSelected);
end;

procedure TfrmMain.LAnalyseSettingExecute(Sender: TObject);
begin
  TfrmMap(ActiveMDIChild).MyMap.AnalyseSetting(atAlongLine);
end;

procedure TfrmMain.PAnalyseSettingExecute(Sender: TObject);
begin
  TfrmMap(ActiveMDIChild).MyMap.AnalyseSetting(atAroundPoint);
end;

procedure TfrmMain.RAnalyseSettingExecute(Sender: TObject);
begin
  TfrmMap(ActiveMDIChild).MyMap.AnalyseSetting(atInRegion);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -