unit1.pas

来自「新颖按钮控件」· PAS 代码 · 共 405 行

PAS
405
字号
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  TransEfbtn, EfRndBtn, EfTransRndBtn, EfBtn, ComCtrls, RunStr, BPanel,
  StdCtrls, ShLabel, EfGauge3d, ExtCtrls, WaveLabel, Menus,
  PopupBtn, OpenBox, TrBtn, FButton, AniImage, Gauge3D, BitLabel,
  NumPanel, IndiGauge, IndiBtn, ShBtn, BmpBtn, RunPanel, BRndPanel,
  RndSwitch, Regulator;

type
  TDemoForm = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    BPanel2: TBPanel;
    TransEfbtn1: TTransEfbtn;
    EfTransRndBtn1: TEfTransRndBtn;
    CheckBox1: TCheckBox;
    TabSheet2: TTabSheet;
    ShLabel1: TShLabel;
    EfGauge3D1: TEfGauge3D;
    CheckBox3: TCheckBox;
    Timer1: TTimer;
    Timer2: TTimer;
    BPanel1: TBPanel;
    OpenBox1: TOpenBox;
    PopupMenu1: TPopupMenu;
    Item11: TMenuItem;
    Item31: TMenuItem;
    FButton1: TFButton;
    TrBtn1: TTrBtn;
    TrBtn2: TTrBtn;
    FButton2: TFButton;
    TrBtn3: TTrBtn;
    TabSheet3: TTabSheet;
    BPanel3: TBPanel;
    RunStr1: TRunStr;
    Gauge3D1: TGauge3D;
    Timer3: TTimer;
    CheckBox5: TCheckBox;
    BitLabel1: TBitLabel;
    CheckBox6: TCheckBox;
    TabSheet4: TTabSheet;
    Panel1: TPanel;
    IndiBtn1: TIndiBtn;
    IndiGauge1: TIndiGauge;
    IndiGauge2: TIndiGauge;
    NumPanel1: TNumPanel;
    IndiBtn2: TIndiBtn;
    Timer4: TTimer;
    BitLabel2: TBitLabel;
    EfRndBtn1: TEfRndBtn;
    EfBtn1: TEfBtn;
    CheckBox2: TCheckBox;
    ShBtn1: TShBtn;
    ShBtn2: TShBtn;
    ShBtn3: TShBtn;
    IndiGauge3: TIndiGauge;
    IndiGauge4: TIndiGauge;
    IndiGauge5: TIndiGauge;
    IndiGauge6: TIndiGauge;
    NumPanel2: TNumPanel;
    PopupBtn1: TPopupBtn;
    BPanel4: TBPanel;
    Label2: TLabel;
    CheckBox7: TCheckBox;
    Label3: TLabel;
    CheckBox8: TCheckBox;
    BPanel5: TBPanel;
    AniImage2: TAniImage;
    RunPanel1: TRunPanel;
    Panel2: TPanel;
    CheckBox4: TCheckBox;
    StaticText1: TLabel;
    StaticText2: TLabel;
    CheckBox9: TCheckBox;
    Label4: TLabel;
    EfRndBtn2: TEfRndBtn;
    TabSheet5: TTabSheet;
    BPanel6: TBPanel;
    BPanel7: TBPanel;
    ColorDialog1: TColorDialog;
    EfTransRndBtn2: TEfTransRndBtn;
    BRndPanel1: TBRndPanel;
    BRndPanel2: TBRndPanel;
    EfRndBtn3: TEfRndBtn;
    EfRndBtn4: TEfRndBtn;
    EfRndBtn5: TEfRndBtn;
    RndSwitch1: TRndSwitch;
    Label5: TLabel;
    Regulator1: TRegulator;
    Regulator2: TRegulator;
    Regulator3: TRegulator;
    Label1: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Bevel1: TBevel;
    WaveLabel1: TWaveLabel;
    EfBtn2: TEfBtn;
    EfBtn3: TEfBtn;
    CheckBox10: TCheckBox;
    BmpBtn1: TBmpBtn;
    BmpBtn2: TBmpBtn;
    BmpBtn3: TBmpBtn;
    ShLabel2: TShLabel;
    CheckBox11: TCheckBox;
    procedure CheckBox1Click(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
    procedure CheckBox3Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure WaveLabel1Click(Sender: TObject);
    procedure WaveLabel1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Timer2Timer(Sender: TObject);
    procedure PageControl1Change(Sender: TObject);
    procedure CheckBox4Click(Sender: TObject);
    procedure Timer3Timer(Sender: TObject);
    procedure CheckBox5Click(Sender: TObject);
    procedure CheckBox6Click(Sender: TObject);
    procedure Timer4Timer(Sender: TObject);
    procedure IndiBtn1Click(Sender: TObject);
    procedure IndiBtn2Click(Sender: TObject);
    procedure CheckBox7Click(Sender: TObject);
    procedure CheckBox8Click(Sender: TObject);
    procedure CheckBox9Click(Sender: TObject);
    procedure EfRndBtn4Click(Sender: TObject);
    procedure EfRndBtn3Click(Sender: TObject);
    procedure EfRndBtn5Click(Sender: TObject);
    procedure RndSwitch1Off(Sender: TObject);
    procedure RndSwitch1On(Sender: TObject);
    procedure Regulator1Change(Sender: TObject);
    procedure Regulator2Change(Sender: TObject);
    procedure Regulator3Change(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure EfBtn2Click(Sender: TObject);
    procedure EfBtn3Click(Sender: TObject);
    procedure CheckBox10Click(Sender: TObject);
    procedure CheckBox11Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  DemoForm: TDemoForm;

implementation

uses Unit2;

{$R *.DFM}

procedure TDemoForm.CheckBox1Click(Sender: TObject);
begin
  EfTransRndBtn1.Transparent := CheckBox1.Checked;
  EfTransRndBtn2.Transparent := CheckBox1.Checked;
  TransEfbtn1.Transparent := CheckBox1.Checked;
end;



procedure TDemoForm.CheckBox2Click(Sender: TObject);
begin
  EfBtn1.Noise := CheckBox2.Checked;
  EfRndBtn1.Noise := CheckBox2.Checked;
  EfRndBtn2.Noise := CheckBox2.Checked;
  EfTransRndBtn1.Noise := CheckBox2.Checked;
  EfTransRndBtn2.Noise := CheckBox2.Checked;
  TransEfbtn1.Noise := CheckBox2.Checked;
end;

procedure TDemoForm.CheckBox3Click(Sender: TObject);
begin
  Timer1.Enabled := CheckBox3.Checked;
end;

procedure TDemoForm.Timer1Timer(Sender: TObject);
begin
  EfGauge3D1.Progress :=  EfGauge3D1.Progress + 1;
  if  EfGauge3D1.Progress = 100 then  EfGauge3D1.Progress := 1;
end;



procedure TDemoForm.WaveLabel1Click(Sender: TObject);
begin
  WaveLabel1.XDiv := 1;
  Timer2.Enabled := True;
end;

procedure TDemoForm.WaveLabel1MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  WaveLabel1.ShowHint := True;
end;

procedure TDemoForm.Timer2Timer(Sender: TObject);
begin
  WaveLabel1.XDiv := WaveLabel1.XDiv + 5;
  Regulator1.Value := WaveLabel1.XDiv;
  if WaveLabel1.XDiv > 50 then
  begin
    Timer2.Enabled := False;
    WaveLabel1.XDiv := 1;
  end;
end;

procedure TDemoForm.PageControl1Change(Sender: TObject);
begin
  if PageControl1.ActivePage = TabSheet3
  then
    begin
      Aniimage2.Active := True;
      RunStr1.Active := True;
      RunPanel1.Active := True;
    end
  else
    if RunStr1.Active
    then
      begin
        Aniimage2.Active := False;
        RunStr1.Active := False;
        RunPanel1.Active := False;
      end;
end;



procedure TDemoForm.CheckBox4Click(Sender: TObject);
begin
  AniImage2.Stretch := CheckBox4.Checked;
end;

procedure TDemoForm.Timer3Timer(Sender: TObject);
begin
  Gauge3D1.Progress :=  Gauge3D1.Progress + 1;
  if  Gauge3D1.Progress = 100 then  Gauge3D1.Progress := 1;
end;

procedure TDemoForm.CheckBox5Click(Sender: TObject);
begin
  Timer3.Enabled := CheckBox5.Checked;
end;

procedure TDemoForm.CheckBox6Click(Sender: TObject);
begin
  BitLabel1.Text3D := CheckBox6.Checked;
  BitLabel2.Text3D := CheckBox6.Checked;
end;

procedure TDemoForm.Timer4Timer(Sender: TObject);
begin
  if  IndiGauge1.Progress = 100 then  IndiGauge1.Progress := 1;
  IndiGauge1.Progress :=  IndiGauge1.Progress + 1;
  IndiGauge2.Progress :=  IndiGauge1.Progress;
  NumPanel1.Value := IndiGauge2.Progress;
  IndiGauge2.Progress := 1 + Random(99);
  IndiGauge3.Progress := 1 + Random(99);
  IndiGauge4.Progress := 1 + Random(99);
  IndiGauge5.Progress := 1 + Random(99);
  IndiGauge6.Progress := 1 + Random(99);
  NumPanel2.Value := - Random(MaxInt);
end;

procedure TDemoForm.IndiBtn1Click(Sender: TObject);
begin
  Timer4.Enabled := True;
end;

procedure TDemoForm.IndiBtn2Click(Sender: TObject);
begin
  Timer4.Enabled := False;
end;



procedure TDemoForm.CheckBox7Click(Sender: TObject);
begin
  PopupBtn1.Flat := CheckBox7.Checked;
end;

procedure TDemoForm.CheckBox8Click(Sender: TObject);
begin
  BmpBtn1.Enabled := CheckBox8.Checked;
  BmpBtn2.Enabled := CheckBox8.Checked;
  BmpBtn3.Enabled := CheckBox8.Checked;
end;




procedure TDemoForm.CheckBox9Click(Sender: TObject);
begin
  RunPanel1.Transparent := CheckBox9.Checked;
end;



procedure TDemoForm.EfRndBtn4Click(Sender: TObject);
begin
  if ColorDialog1.Execute
  then
    begin
      BPanel7.Color := ColorDialog1.Color;
      BRndPanel1.Color := ColorDialog1.Color;
      BRndPanel2.Color := ColorDialog1.Color;
    end;
end;

procedure TDemoForm.EfRndBtn3Click(Sender: TObject);
begin
  BPanel7.Transparent := Not(BPanel7.Transparent);
  BRndPanel1.Transparent := Not(BRndPanel1.Transparent);
  BRndPanel2.Transparent := Not(BRndPanel2.Transparent);
end;

procedure TDemoForm.EfRndBtn5Click(Sender: TObject);
begin
  BPanel7.AddTransparentColor := Not(BPanel7.AddTransparentColor);
  BRndPanel1.AddTransparentColor := Not(BRndPanel1.AddTransparentColor);
  BRndPanel2.AddTransparentColor := Not(BRndPanel2.AddTransparentColor);
end;

procedure TDemoForm.RndSwitch1Off(Sender: TObject);
begin
  Label5.Caption := 'Off'; 
end;

procedure TDemoForm.RndSwitch1On(Sender: TObject);
begin
  Label5.Caption := 'On';
end;

procedure TDemoForm.Regulator1Change(Sender: TObject);
begin
  WaveLabel1.XDiv := Regulator1.Value;
end;



procedure TDemoForm.Regulator2Change(Sender: TObject);
begin
  WaveLabel1.YDiv := Regulator2.Value;
end;

procedure TDemoForm.Regulator3Change(Sender: TObject);
begin
  WaveLabel1.RatioVal := Regulator3.Value;
end;

procedure TDemoForm.FormCreate(Sender: TObject);
var
  Rgn1,Rgn2: HRgn;
begin
  Rgn1 := CreateRectRgn(2, 2, Width-2, Height-60);
  Rgn2 := CreateRectRgn(Width - 100,Height - 50,Width-2,Height-2);
  CombineRgn(Rgn2,Rgn1,Rgn2,RGN_OR);
  Rgn1 := CreateRectRgn(Width - 208,Height - 50,Width-110,Height-2);
  CombineRgn(Rgn2,Rgn1,Rgn2,RGN_OR);
  Rgn1 := CreateRectRgn(2,Height - 50,250,Height-30);
  CombineRgn(Rgn2,Rgn1,Rgn2,RGN_OR);
  SetWindowRgn(DemoForm.Handle,Rgn2,True);
  ShLabel2.Top := Height-74;
  ShLabel2.Left := 2;
  with EfBtn2 do
  begin
    Left := DemoForm.Width - 102;
    Top := DemoForm.Height - 71;
    Width := 96;
    Height := 46;
  end;
  with EfBtn3 do
  begin
    Left := DemoForm.Width - 210;
    Top := DemoForm.Height - 71;
    Width := 96;
    Height := 46;
  end;
end;

procedure TDemoForm.EfBtn2Click(Sender: TObject);
begin
  Close;
end;

procedure TDemoForm.EfBtn3Click(Sender: TObject);
begin
  AboutForm.ShowModal;  
end;

procedure TDemoForm.CheckBox10Click(Sender: TObject);
begin
  RunStr1.Transparent :=  CheckBox10.Checked;
end;

procedure TDemoForm.CheckBox11Click(Sender: TObject);
begin
  Gauge3d1.Transparent := CheckBox11.Checked;
end;

end.

⌨️ 快捷键说明

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