adjblockfrm.pas

来自「MiniHex 1.1 源程序说明 “MiniHex11SrcSourc」· PAS 代码 · 共 99 行

PAS
99
字号
unit AdjBlockFrm;

interface

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

type
  TAdjBlockData = record
    AdjPos: Boolean;         //是调整位置还是大小
    PosDire: Integer;        
    PosDist: Integer;
    SizeStartDire: Integer;
    SizeStartDist: Integer;
    SizeEndDire: Integer;
    SizeEndDist: Integer;
  end;

  TAdjBlockForm = class(TForm)
    PageControl: TPageControl;
    PosTabSheet: TTabSheet;
    SizeTabSheet: TTabSheet;
    Label1: TLabel;
    PosDistEdit: TEdit;
    OkButton: TButton;
    CancelButton: TButton;
    GroupBox2: TGroupBox;
    BlkStartDireComboBox: TComboBox;
    Label3: TLabel;
    BlkStartDistEdit: TEdit;
    Label4: TLabel;
    GroupBox3: TGroupBox;
    Label2: TLabel;
    Label5: TLabel;
    BlkEndDireComboBox: TComboBox;
    BlkEndDistEdit: TEdit;
    PosDireRadioGroup: TRadioGroup;
    procedure OkButtonClick(Sender: TObject);
    procedure CancelButtonClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }

  public
    { Public declarations }
    procedure GetData(var Value: TAdjBlockData);

  end;

var
  AdjBlockForm: TAdjBlockForm;

function ShowAdjBlockForm(var Value: TAdjBlockData): Boolean;

implementation

{$R *.DFM}

function ShowAdjBlockForm(var Value: TAdjBlockData): Boolean;
var
  Frm: TAdjBlockForm;
begin
  Frm := TAdjBlockForm.Create(Application);
  Result := (Frm.ShowModal = mrOk);
  if Result then Frm.GetData(Value);
  Frm.Free;
end;

procedure TAdjBlockForm.GetData(var Value: TAdjBlockData);
begin
  Value.AdjPos := (PageControl.ActivePage = PosTabSheet);
  Value.PosDire := PosDireRadioGroup.ItemIndex;
  Value.PosDist := StrToIntDef(PosDistEdit.Text, 0);
  Value.SizeStartDire := BlkStartDireComboBox.ItemIndex;
  Value.SizeStartDist := StrToIntDef(BlkStartDistEdit.Text, 0);
  Value.SizeEndDire := BlkEndDireComboBox.ItemIndex;
  Value.SizeEndDist := StrToIntDef(BlkEndDistEdit.Text, 0);
end;

procedure TAdjBlockForm.OkButtonClick(Sender: TObject);
begin
  ModalResult := mrOk;
end;

procedure TAdjBlockForm.CancelButtonClick(Sender: TObject);
begin
  ModalResult := mrCancel;
end;

procedure TAdjBlockForm.FormCreate(Sender: TObject);
begin
  PageControl.ActivePage := PosTabSheet;
  BlkStartDireComboBox.ItemIndex := 1;
  BlkEndDireComboBox.ItemIndex := 1;
end;

end.

⌨️ 快捷键说明

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