searchform.pas

来自「delphi 和mapx联合开发的例程 实现mapx的相应功能」· PAS 代码 · 共 95 行

PAS
95
字号
unit SearchForm;

interface

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

type
  TLayers = Array of record
    Name: String;
    Fields: TStringList;
  end;

  TSearchFrm = class(TForm)
    GroupBox1: TGroupBox;
    ComboBox1: TComboBox;
    GroupBox2: TGroupBox;
    Panel1: TPanel;
    ComboBox2: TComboBox;
    GroupBox3: TGroupBox;
    Edit1: TEdit;
    GroupBox4: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    RadioButton4: TRadioButton;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ComboBox1Change(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
  private
    { Private declarations }
    Layers: TLayers;
    Handle: THandle;
  public
    { Public declarations }
    procedure ShowForm(aLayers: TLayers; aHandle: THandle);
  end;
  
implementation

uses uMsgConst;

{$R *.dfm}
procedure TSearchFrm.ShowForm(aLayers: TLayers; aHandle: THandle);
var
  i: integer;
begin
  Layers:= aLayers;
  Handle:= aHandle;
  ComboBox1.ItemIndex:= 0;
  ComboBox2.Items.Assign(Layers[ComboBox1.ItemIndex].Fields);
  ComboBox2.ItemIndex:= 0;
  Edit1.Clear;
end;


procedure TSearchFrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action:= CaHide;
end;


procedure TSearchFrm.ComboBox1Change(Sender: TObject);
var
  i: integer;
begin
  ComboBox2.Items.Assign(Layers[ComboBox1.ItemIndex].Fields);
  ComboBox2.ItemIndex:= 0;
end;

//搜索
procedure TSearchFrm.SpeedButton1Click(Sender: TObject);
var
  AMessage: TMessage;
begin
  if (ComboBox1.Text <> '') and (ComboBox2.Text <> '') and (edit1.Text <> '') then
  begin
    AMessage.Msg:= SEARCH_MSG;   // 信息齐全了,让地图去查找
    SendMessage(Handle,AMessage.Msg,0,0);
  end
  else
    Showmessage('请输入信息!');
end;

procedure TSearchFrm.SpeedButton2Click(Sender: TObject);
begin
  Close;
end;

end.

⌨️ 快捷键说明

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