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

📄 themefrm.pas

📁 mapx+Delephi程序 以前做的一个MapX程序框架,实现了很多mapX功能,并且使用起来很方便,可在此基础上继续开发. 现在本人不基本不搞mapx,搞ArcEngine了,现代码全部贡献了
💻 PAS
字号:
unit ThemeFrm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, MapX, ComCtrls, ToolWin, ImgList, MapXLib_TLB;

type
  TFtrSetStyle = (fssAll, fssSelected);

  TfrmTheme = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    cmbLayer: TComboBox;
    GroupBox3: TGroupBox;
    lstFeatures: TListBox;
    Label2: TLabel;
    cmbTable: TComboBox;
    GroupBox5: TGroupBox;
    lstRecords: TListBox;
    cmbLayerField: TComboBox;
    Label3: TLabel;
    Label4: TLabel;
    cmbTableField: TComboBox;
    Bevel1: TBevel;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ImageList1: TImageList;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    procedure cmbLayerChange(Sender: TObject);
    procedure cmbLayerFieldChange(Sender: TObject);
  private
    { Private declarations }
    FMapXTheme: TMapXTheme;
    FFtrSetStyle: TFtrSetStyle;
  public
    { Public declarations }
    procedure InitForm;
    procedure SetMapXTheme(AMapXTheme: TMapXTheme);
  end;


implementation

{$R *.dfm}

{ TfrmTheme }

procedure TfrmTheme.InitForm;
begin
  FMapXTheme.MapX.Get_Layers(TStringList(cmbLayer.Items));
  if cmbLayer.Items.Count > 0 then
  begin
    cmbLayer.ItemIndex:= 0;
    cmbLayer.OnChange(nil);
  end;
end;

procedure TfrmTheme.SetMapXTheme(AMapXTheme: TMapXTheme);
begin
  FMapXTheme:= AMapXTheme;
  InitForm;
end;

procedure TfrmTheme.cmbLayerChange(Sender: TObject);
begin
  FMapXTheme.MapX.Get_LayerFields(cmbLayer.Text,TStringList(cmbLayerField.Items));
  if cmbLayerField.Items.Count > 0 then
  begin
    cmbLayerField.ItemIndex:= 0;
    cmbLayerField.OnChange(nil);
  end;
end;

procedure TfrmTheme.cmbLayerFieldChange(Sender: TObject);
var
  I: Integer;
  Layer: CMapXLayer;
begin
  lstFeatures.Clear;
  FMapXTheme.MapX.BindLayerData(cmbLayer.Items.Strings[cmbLayer.ItemIndex]);
  FMapXTheme.MapX.SetLayerKeyField(cmbLayer.Items.Strings[cmbLayer.ItemIndex],
    cmbLayerField.Items.Strings[cmbLayerField.ItemIndex]);
  Layer:= FMapXTheme.MapX.GetLayerByName(cmbLayer.Items.Strings[cmbLayer.ItemIndex]);
  for I:= 1 to Layer.AllFeatures.Count do
  begin
    lstFeatures.Items.Add(Layer.AllFeatures.Item[I].KeyValue);
  end;
//
end;

end.

⌨️ 快捷键说明

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