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 + -
显示快捷键?