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

📄 ucreatetheme.pas

📁 用DELPHI 和MAPX的基础练习.是学习的好资料
💻 PAS
字号:
unit UCreateTheme;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,MapXLib_TLB;

type
  TFCreateTheme = class(TForm)
    Label1: TLabel;
    ComboBox1: TComboBox;
    Label2: TLabel;
    Edit1: TEdit;
    Label3: TLabel;
    ComboBox2: TComboBox;
    ListBox1: TListBox;
    Button1: TButton;
    Button2: TButton;
    Label4: TLabel;
    procedure Button2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure ComboBox2Change(Sender: TObject);
  private
     Procedure ListField(Sender: TObject);
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FCreateTheme: TFCreateTheme;


implementation

uses UMap;

{$R *.dfm}

procedure TFCreateTheme.Button2Click(Sender: TObject);
begin
Close;
end;

Procedure TFCreateTheme.ListField(Sender: TObject);
var
ds : CMapXDataSet;
i  : integer;
begin
ListBox1.Clear;
ds:=FMap.Map1.DataSets[ComBoBox1.Text];
for i:=1  to ds.Fields.Count do
    begin
    ListBox1.Items.Add(ds.Fields.Item[i].Name);
    end;
end;

procedure TFCreateTheme.FormShow(Sender: TObject);
var
i:integer;
begin
 for  i:=1 to Fmap.Map1.DataSets.Count  do
      begin
      Combobox1.Items.Add(Fmap.Map1.DataSets[i].Name);
      end;
 if  Fmap.Map1.DataSets.Count<>0 then
 begin
 Combobox1.ItemIndex:=0;
 ListField(FCreateTheme);
 end;
 Combobox1.ItemIndex:=0;
 Combobox2.ItemIndex:=6;
end;


procedure TFCreateTheme.Button1Click(Sender: TObject);
var
 ThemeType:integer;
 IsMultivariateTheme:Boolean;
 ds  : CMapXDataSet;
 cols: CMapXFields;
 i:    integer;
begin
  //ds := Fmap.Map1.DataSets.Item[ComBoBox1.Text];
  //ds.Themes.Add(miThemeRanged,'TOTPOP','',EmptyParam);
 case ComboBox2.ItemIndex of
     0:
       begin
       ThemeType:=miThemeRanged;
       IsMultivariateTheme:=False;
       end;
     1:
       begin
       ThemeType:=miThemeBarChart;
       IsMultivariateTheme:=True;
       end;
     2:
       begin
       ThemeType:=miThemePieChart;
       IsMultivariateTheme:=True;
       end;
     3:
      begin
      ThemeType:=miThemeGradSymbol;
      IsMultivariateTheme:=False;
      end;
     4:
      begin
      ThemeType:=miThemeDotDensity;
      IsMultivariateTheme:=False;
      end;
     5:
      begin
      ThemeType:=miThemeIndividualValue;
      IsMultivariateTheme:=False;
      end;
     6:
      begin
      ThemeType:=miThemeAuto;
      IsMultivariateTheme:=True;
      end;
    end;

   if IsMultivariateTheme = false then
      begin
      if ListBox1.SelCount= 0 then
         begin
         MessageDlg('请选择字段',mtWarning,[mbOK],0 );
         exit;
         end
      else
         begin
         ds := Fmap.Map1.DataSets.Item[ComBoBox1.Text];
         if Edit1.Text<>'' then
            ds.Themes.Add(ThemeType,ListBox1.Items[ListBox1.ItemIndex],Edit1.Text,EmptyParam)
         else
           begin
            ds.Themes.Add(ThemeType,ListBox1.Items[ListBox1.ItemIndex],EmptyParam,EmptyParam);
           end;
         end;

      end

  else
     begin
     if ListBox1.SelCount= 0 then
        begin
          MessageDlg('请选择字段',mtWarning,[mbOK],0 );
          exit;
        end
     else
        begin
        ds := Fmap.Map1.DataSets.Item[ComBoBox1.Text];
          if Edit1.Text<>'' then
             begin
             cols:=coFields.Create;
             for i:=1 to  ListBox1.SelCount do
                 begin
                    cols.Add(ListBox1.Items[ListBox1.ItemIndex],ListBox1.Items[ListBox1.ItemIndex],EmptyParam,EmptyParam);
                 end;
             ds.Themes.Add(ThemeType,cols,Edit1.Text,EmptyParam);
             end
         else
             begin
             cols:=coFields.Create;
             for i:=1 to  ListBox1.SelCount do
                 begin
                    cols.Add(ListBox1.Items[ListBox1.ItemIndex],ListBox1.Items[ListBox1.ItemIndex],EmptyParam,EmptyParam);
                 end;
             ds.Themes.Add(ThemeType,cols,EmptyParam,EmptyParam);
             end;
        end;
    end;
    close;
end;

procedure TFCreateTheme.ComboBox1Change(Sender: TObject);
begin
ListField(FCreateTheme);
end;

procedure TFCreateTheme.ComboBox2Change(Sender: TObject);
var
 ThemeType:integer;
 IsMultivariateTheme:Boolean;
begin
 case ComboBox2.ItemIndex of
     0:
       begin
       ThemeType:=miThemeRanged;
       IsMultivariateTheme:=False;
       end;
     1:
       begin
       ThemeType:=miThemeBarChart;
       IsMultivariateTheme:=True;
       end;
     2:
       begin
       ThemeType:=miThemePieChart;
       IsMultivariateTheme:=True;
       end;
     3:
      begin
      ThemeType:=miThemeGradSymbol;
      IsMultivariateTheme:=False;
      end;
     4:
      begin
      ThemeType:=miThemeDotDensity;
      IsMultivariateTheme:=False;
      end;
     5:
      begin
      ThemeType:=miThemeIndividualValue;
      IsMultivariateTheme:=False;
      end;
     6:
      begin
      ThemeType:=miThemeAuto;
      IsMultivariateTheme:=True;
      end;
    end;
 if IsMultivariateTheme = false then
      ListBox1.MultiSelect:=false
 else
      ListBox1.MultiSelect:=true;

end;

end.

⌨️ 快捷键说明

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