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

📄 layer.txt

📁 校园GIS系统——介绍校园个部门
💻 TXT
字号:
uunit layermanage;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls,  MapObjects2_TLB,CheckLst, Buttons;

type
  TLayerManaFrm = class(TForm)
    layernamechecklistbox: TCheckListBox;
    btTop: TButton;
    btUp: TButton;
    btDown: TButton;
    btBottom: TButton;
    BbAddLayer: TBitBtn;
    BbRemove: TBitBtn;
    procedure FormActivate(Sender: TObject);
    procedure layernamechecklistboxClickCheck(Sender: TObject);
    procedure layernamechecklistboxClick(Sender: TObject);
    procedure btTopClick(Sender: TObject);
    procedure btUpClick(Sender: TObject);
    procedure btDownClick(Sender: TObject);
    procedure btBottomClick(Sender: TObject);
    procedure BbRemoveClick(Sender: TObject);
    procedure BbAddLayerClick(Sender: TObject);
  private
    { Private declarations }
  public
    currentlayer: IMoMaplayer;
  end;

var
  LayerManaFrm: TLayerManaFrm;

implementation

uses Unitmain;

{$R *.DFM}

procedure TLayerManaFrm.FormActivate(Sender: TObject);
var
  i: integer;
  currentlayer: IMoMaplayer;
begin
  layernamechecklistbox.Clear;

  for i := 0 to mainfrm.mainmap.Layers.Count - 1 do
  begin
    currentlayer := CoMapLayer.Create;
    currentlayer := IMoMapLayer(mainfrm.mainmap.Layers.Item(i));
    layernamechecklistbox.Items.Add(currentlayer.name);
    layernamechecklistbox.Checked[i] := currentlayer.Visible;
    //图层显示控制
  end;

  layernamechecklistbox.ItemIndex:=0;
  BbRemove.Enabled:=layernamechecklistbox.Items.Count >0;
  btTop.Enabled:=layernamechecklistbox.ItemIndex>0;
  btUp.Enabled:=layernamechecklistbox.ItemIndex>0;
  btDown.Enabled:=layernamechecklistbox.ItemIndex<>MainFrm.MainMap.Layers.Count-1;
  btBottom.Enabled:=layernamechecklistbox.ItemIndex<>MainFrm.MainMap.Layers.Count-1;
  //按钮显示控制
end;
procedure TLayerManaFrm.layernamechecklistboxClickCheck(Sender: TObject);
begin
   currentlayer:= IMoMapLayer(mainfrm.mainmap.Layers.Item(layernamechecklistbox.ItemIndex));
   currentlayer.Visible:=layernamechecklistbox.checked[layernamechecklistbox.ItemIndex];
   MainFrm.MainMap.Refresh;
end;

procedure TLayerManaFrm.layernamechecklistboxClick(Sender: TObject);
begin
  BbRemove.Enabled:=MainFrm.MainMap.Layers.Count>=0;
  btTop.Enabled:=layernamechecklistbox.ItemIndex>0;
  btUp.Enabled:=layernamechecklistbox.ItemIndex>0;
  btDown.Enabled:=layernamechecklistbox.ItemIndex<>MainFrm.MainMap.Layers.Count-1;
  btBottom.Enabled:=layernamechecklistbox.ItemIndex<>MainFrm.MainMap.Layers.Count-1;
end;

procedure TLayerManaFrm.btTopClick(Sender: TObject);
begin
   MainFrm.MainMap.Layers.MoveToTop(layernamechecklistbox.ItemIndex);
   //图层上移到顶
   LayerManaFrm.OnActivate(sender);

   MainFrm.MainMap.Refresh;
   
end;

procedure TLayerManaFrm.btUpClick(Sender: TObject);
begin
   MainFrm.MainMap.Layers.MoveTo(layernamechecklistbox.ItemIndex,layernamechecklistbox.ItemIndex-1);
   //图层上移
   LayerManaFrm.OnActivate(sender);
   
   MainFrm.MainMap.Refresh;

end;

procedure TLayerManaFrm.btDownClick(Sender: TObject);
begin
   MainFrm.MainMap.Layers.MoveTo(layernamechecklistbox.ItemIndex,layernamechecklistbox.ItemIndex+1);
   //图层下移
   LayerManaFrm.OnActivate(sender);
   MainFrm.MainMap.Refresh;
end;

procedure TLayerManaFrm.btBottomClick(Sender: TObject);
begin
   MainFrm.MainMap.Layers.MoveToBottom(layernamechecklistbox.ItemIndex);
   //图层上移到底
   LayerManaFrm.OnActivate(sender);
   MainFrm.MainMap.Refresh;
end;

procedure TLayerManaFrm.BbRemoveClick(Sender: TObject);
begin
   MainFrm.MainMap.Layers.Remove(layernamechecklistbox.ItemIndex);
   //图层移出
   MainFrm.MainMap.Refresh;
   LayerManaFrm.OnActivate(sender);
end;

procedure TLayerManaFrm.BbAddLayerClick(Sender: TObject);
begin
   MainFrm.OpenShapeFile.Click;
   LayerManaFrm.OnActivate(sender);
end;

end.

⌨️ 快捷键说明

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