📄 option.pas
字号:
Unit Option;
Interface
Uses
Windows,
Messages,
SysUtils,
Classes,
Graphics,
Controls,
Forms,
Dialogs,
ComCtrls,
StdCtrls,
Spin,
MacForm,
ExtCtrls,
Buttons;
Type
TfrmOption = Class(TForm)
pgcOption: TPageControl;
ts1: TTabSheet;
ts2: TTabSheet;
grp1: TGroupBox;
tbrTimer: TTrackBar;
seTimer: TSpinEdit;
chkNoTrans: TCheckBox;
grp3: TGroupBox;
cbbFace: TComboBox;
cbbDigit: TComboBox;
lbl1: TLabel;
lbl2: TLabel;
grp2: TGroupBox;
chkAutoRun: TCheckBox;
chkRandImg: TCheckBox;
chkTop: TCheckBox;
btnAbout: TBitBtn;
btnOK: TBitBtn;
grp4: TGroupBox;
tbrCal: TTrackBar;
seCal: TSpinEdit;
chkCal: TCheckBox;
grp5: TGroupBox;
chkLast: TCheckBox;
Procedure btnOKClick(Sender: TObject);
Procedure tbrTimerChange(Sender: TObject);
Procedure seTimerChange(Sender: TObject);
Procedure seTimerKeyPress(Sender: TObject; Var Key: Char);
Procedure chkNoTransClick(Sender: TObject);
Procedure FormCreate(Sender: TObject);
Procedure chkAutoRunClick(Sender: TObject);
Procedure chkRandImgClick(Sender: TObject);
Procedure cbbFaceChange(Sender: TObject);
Procedure cbbDigitChange(Sender: TObject);
Procedure tbrCalChange(Sender: TObject);
Procedure chkCalClick(Sender: TObject);
Procedure seCalChange(Sender: TObject);
Procedure chkLastClick(Sender: TObject);
Private
FAlpha, FAlpha1: Integer;
Protected
Procedure ChgTimerAlpha;
Procedure DoShow; Override;
Procedure ChgCalAlpha;
Public
Procedure ActivatePage(ID: integer);
Destructor Destroy; Override;
{ Public declarations }
End;
Var
frmOption: TfrmOption;
Implementation
Uses Timer,
Main;
{$R *.dfm}
Procedure TfrmOption.ActivatePage(ID: integer);
Begin
If (id > -1) And (id < pgcOption.PageCount) Then
pgcOption.ActivePageIndex := ID;
End;
Procedure TfrmOption.btnOKClick(Sender: TObject);
Begin
Hide;
End;
Procedure TfrmOption.tbrTimerChange(Sender: TObject);
Begin
If seTimer.Value <> tbrTimer.Position Then
Begin
FAlpha := tbrTimer.Position;
seTimer.Value := FAlpha;
ChgTimerAlpha;
End;
End;
Procedure TfrmOption.seTimerChange(Sender: TObject);
Begin
If seTimer.Value <> tbrTimer.Position Then
Begin
tbrTimer.Position := seTimer.Value;
ChgTimerAlpha;
End;
End;
Procedure TfrmOption.seTimerKeyPress(Sender: TObject; Var Key: Char);
Begin
key := #0;
End;
Procedure TfrmOption.ChgTimerAlpha;
Var
i: integer;
Begin
If chkNoTrans.Checked Then
i := 255
Else
i := FAlpha;
SendMessage(frmTime.Handle, WM_TIMERALPHA, i, 0);
End;
Procedure TfrmOption.chkNoTransClick(Sender: TObject);
Var
f: boolean;
Begin
f := chkNoTrans.Checked;
tbrTimer.Enabled := Not f;
seTimer.Enabled := Not f;
ChgTimerAlpha;
End;
Procedure TfrmOption.FormCreate(Sender: TObject);
Begin
FAlpha := Appinf.ReadInteger(sOption, 'TimeAlpha', 175);
FAlpha1 := Appinf.ReadInteger(sOption, 'CalAlpha', 175);
tbrTimer.Position := FAlpha;
tbrCal.Position := FAlpha1;
chkNoTrans.Checked := Appinf.ReadBool(sOption, 'TimeTrans', True);
chkTop.Checked := AppInf.ReadBool(sOption, 'TimeOnTop', True);
chkLast.Checked := AppInf.ReadBool(sOption, 'OpenLast', True);
chkNoTransClick(Nil);
chkCalClick(Nil);
End;
Destructor TfrmOption.Destroy;
Begin
Appinf.WriteInteger(sOption, 'TimeAlpha', FAlpha);
Appinf.WriteInteger(sOption, 'CalAlpha', FAlpha1);
Appinf.WriteBool(sOption, 'TimeTrans', chkNoTrans.Checked);
AppInf.WriteBool(sOption, 'TimeOnTop', chkTop.Checked);
AppInf.WriteBool(sOption, 'OpenLast', chkLast.Checked);
Inherited;
End;
Procedure TfrmOption.DoShow;
Var
i: integer;
Begin
With frmTime Do
Begin
chkAutoRun.Checked := popAutoRun.Checked;
chkRandImg.Checked := popRandFace.Checked;
cbbFace.Clear;
For i := 0 To FaceList.Count - 1 Do
cbbFace.Items.Add(ExtractFileName(ChangeFileExt(FaceList[i], '')));
cbbFace.ItemIndex := GetFaceIndex;
cbbDigit.Clear;
For i := 0 To DigitList.Count - 1 Do
cbbDigit.Items.Add(ExtractFileName(ChangeFileExt(DigitList[i], '')));
cbbDigit.ItemIndex := GetDigitIndex;
End;
CheckfrmMain;
chkLast.Checked := frmMain.OpenLast;
Inherited;
End;
Procedure TfrmOption.chkAutoRunClick(Sender: TObject);
Begin
frmTime.popAutoRun.Checked := chkAutoRun.Checked;
End;
Procedure TfrmOption.chkRandImgClick(Sender: TObject);
Begin
frmTime.popRandFace.Checked := chkRandImg.Checked;
End;
Procedure TfrmOption.cbbFaceChange(Sender: TObject);
Begin
SendMessage(frmTime.Handle, WM_CHGFACE, cbbFace.ItemIndex, 0);
End;
Procedure TfrmOption.cbbDigitChange(Sender: TObject);
Begin
SendMessage(frmTime.Handle, WM_CHGDIGIT, cbbDigit.ItemIndex, 0);
End;
Procedure TfrmOption.tbrCalChange(Sender: TObject);
Begin
If seCal.Value <> tbrCal.Position Then
Begin
FAlpha1 := tbrCal.Position;
seCal.Value := FAlpha1;
ChgCalAlpha;
End;
End;
Procedure TfrmOption.ChgCalAlpha;
Var
i: integer;
Begin
If chkCal.Checked Then
i := 255
Else
i := FAlpha1;
CheckfrmMain;
SendMessage(frmMain.Handle, WM_TIMERALPHA, i, 0);
End;
Procedure TfrmOption.chkCalClick(Sender: TObject);
Var
f: boolean;
Begin
f := chkCal.Checked;
tbrCal.Enabled := Not f;
seCal.Enabled := Not f;
ChgCalAlpha;
End;
Procedure TfrmOption.seCalChange(Sender: TObject);
Begin
If seCal.Value <> tbrCal.Position Then
Begin
tbrCal.Position := seCal.Value;
ChgCalAlpha;
End;
End;
Procedure TfrmOption.chkLastClick(Sender: TObject);
Begin
CheckfrmMain;
frmMain.OpenLast := chkLast.Checked;
End;
End.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -