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

📄 layerset.pas

📁 校园GIS系统——介绍校园个部门
💻 PAS
字号:
unit LayerSet;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, StdCtrls, ExtCtrls, MapObjects2_TLB;

type
  TLayerSetFrm = class(TForm)
    CbbLayer: TComboBox;
    Edit1: TEdit;
    CbbPstyle: TComboBox;
    PalColor: TPanel;
    BtApplication: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label4: TLabel;
    UDSize: TUpDown;
    ColorDialog1: TColorDialog;
    label3: TLabel;
    procedure FormActivate(Sender: TObject);
    procedure CbbLayerChange(Sender: TObject);
    procedure BtApplicationClick(Sender: TObject);
    procedure PalColorClick(Sender: TObject);
  private
   MySymbol:imoSymbol; { Private declarations }
  public
    { Public declarations }
  end;

var
  LayerSetFrm: TLayerSetFrm;

implementation

uses Main;

{$R *.DFM}

procedure TLayerSetFrm.FormActivate(Sender: TObject);
var

i:integer;
begin
  MySymbol:=coSymbol.Create;
  CbbLayer.Clear;
  for i:=0 to MainFrm.MainMap.Layers.Count-1 do
  begin
    //添加point图层
    Currentlayer:=ImoMaplayer(MainFrm.MainMap.Layers.Item(i));
    if CurrentLayer.LayerType=moMapLayer then
    //begin
    //  if CurrentLayer.Symbol.SymbolType<> moPointSymbol then break
    //  else
    CbbLayer.Items.Add(Currentlayer.Name);
    //end;
    if CbbLayer.Items.Count>0 then
    CbbLayer.Itemindex:=0;
    CbbLayer.OnChange(sender);
  end;

end;
procedure TLayerSetFrm.CbbLayerChange(Sender: TObject);

begin
  MySymbol:=ImoMapLayer(MainFrm.MainMap.Layers.item(CbbLayer.Text)).Symbol;
  CbbPstyle.Clear;
  UDSize.Position:=MySymbol.Size;
  PalColor.Color:=MySymbol.Color;
  case MySymbol.SymbolType of
  0:
    begin

      Label2.Caption:='点大小:';
      Label4.Caption:='点型:';
      CbbPstyle.Items.Add('圆');
      CbbPstyle.Items.Add('正方形');
      CbbPstyle.Items.Add('三角形');
      CbbPstyle.Items.Add('十字图标');

    end;
  1:
    begin
      Label2.Caption:='线宽:';
      Label4.Caption:='线型:';
      CbbPstyle.Items.Add('实线');
      CbbPstyle.Items.Add('虚线');
      CbbPstyle.Items.Add('点线');
      CbbPstyle.Items.Add('点画线');
      CbbPstyle.Items.Add('双点画线');
    end;
  2:
    begin
     Label2.Caption:='线宽:';
     Label4.Caption:='填充类型:';
     CbbPstyle.Items.Add('全部填充');
     CbbPstyle.Items.Add('透明');
     CbbPstyle.Items.Add('水平填充');
     CbbPstyle.Items.Add('垂直填充');
     CbbPstyle.Items.Add('上斜对角线');
     CbbPstyle.Items.Add('上斜对角线');
     CbbPstyle.Items.Add('十字线');
     CbbPstyle.Items.Add('对角十字线');
     CbbPstyle.Items.Add('浅灰填充');
     CbbPstyle.Items.Add('灰色填充');
     CbbPstyle.Items.Add('深色填充');
    end;

  end;
  Case MySymbol.Style of
      0:
        CbbPstyle.ItemIndex:=0;
      1:
        CbbPstyle.ItemIndex:=1;
      2:
        CbbPstyle.ItemIndex:=2;
      3:
        CbbPstyle.ItemIndex:=3;
      4:
        CbbPstyle.ItemIndex:=4;
      5:
        CbbPstyle.ItemIndex:=5;
      6:
        CbbPstyle.ItemIndex:=6;
      7:
        CbbPstyle.ItemIndex:=7;
      8:
        CbbPstyle.ItemIndex:=8;
      9:
        CbbPstyle.ItemIndex:=9;
      10:
        CbbPstyle.ItemIndex:=10;
    end;

end;


procedure TLayerSetFrm.BtApplicationClick(Sender: TObject);
begin
  MySymbol.Size:=UDSize.Position;
  MySymbol.Color:=PalColor.Color;
  MySymbol.Style:=CbbPstyle.ItemIndex;
  MainFrm.MainMap.Refresh;
  MainFrm.tfcMaptreeview1.DrawLegend;
end;



procedure TLayerSetFrm.PalColorClick(Sender: TObject);
begin
  if  ColorDialog1.Execute then
    PalColor.Color:=ColorDialog1.Color;
end;

end.

⌨️ 快捷键说明

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