⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 option.pas

📁 Clock 桌面时钟 日历 阴历 看到的delphi程序 转发
💻 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 + -