📄 layerset.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 + -