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

📄 main.pas

📁 themeengine6源码
💻 PAS
字号:
unit main;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  te_controls, te_engine, te_switcher, StdCtrls, ImgList,
  te_extra_Effect_Controls, te_extra_wave, te_dialogs, te_stddialogs;

type
  TfrmMain = class(TForm)
    ThemeEngine: TTeThemeEngine;
    BtnExtCtrls: TTeEffectButton;
    NgGroupBox1: TTeGroupBox;
    SeSkinForm1: TTeForm;
    SeSkinMenuBar1: TTeMenuBar;
    CustomItem10: TTeItem;
    CustomItem11: TTeItem;
    CustomItem12: TTeItem;
    CustomItem13: TTeItem;
    CustomItem14: TTeItem;
    CustomItem15: TTeItem;
    CustomItem18: TTeItem;
    btnLoad: TTeEffectButton;
    Label1: TLabel;
    btnExit: TTeEffectButton;
    BtnExtFileCtrls: TTeEffectButton;
    teGroupBox1: TTeGroupBox;
    tbBrightness: TTeTrackBar;
    NgGroupBox2: TTeGroupBox;
    tbHue: TTeTrackBar;
    TeThemeList1: TTeThemeList;
    teLabel1: TTeLabel;
    TeThemeSwitcher1: TTeThemeSwitcher;
    ImageList1: TImageList;
    btnFullScreen: TTeEffectButton;
    btnFileEdits: TTeEffectButton;
    btnBoxCtrls: TTeEffectButton;
    ckAnimation: TTeEffectGroupBox;
    SeSkinLabel1: TTeLabel;
    SeSkinLabel3: TTeLabel;
    SeSkinLabel2: TTeLabel;
    CB1: TTeEffectComboBox;
    edTime: TTeEffectSpinEdit;
    edTileCont: TTeEffectSpinEdit;
    ckEnableAnimation: TTeEffectCheckBox;
    WaveList1: TTeExtraWaveList;
    ckSounds: TTeEffectGroupBox;
    ckMouseEnter: TTeEffectCheckBox;
    ckMouseClick: TTeEffectCheckBox;
    CustomItem2: TTeItem;
    CustomItem3: TTeItem;
    CustomItem4: TTeItem;
    CustomItem5: TTeItem;
    TeOpenThemeDialog1: TTeOpenThemeDialog;
    procedure FormCreate(Sender: TObject);
    procedure CustomItem7Click(Sender: TObject);
    procedure CustomItem9Click(Sender: TObject);
    procedure KsBlendButton2MouseEnter(Sender: TObject);
    procedure CustomItem11Click(Sender: TObject);
    procedure btnLoadClick(Sender: TObject);
    procedure btnLoadMouseEnter(Sender: TObject);
    procedure CustomItem18Click(Sender: TObject);
    procedure BrightnessChange(Sender: TObject);
    procedure HueChange(Sender: TObject);
    procedure BtnExtFileCtrlsMouseEnter(Sender: TObject);
    procedure BtnExtFileCtrlsClick(Sender: TObject);
    procedure btnFullScreenMouseEnter(Sender: TObject);
    procedure btnFullScreenClick(Sender: TObject);
    procedure btnFileEditsMouseEnter(Sender: TObject);
    procedure btnFileEditsClick(Sender: TObject);
    procedure btnBoxCtrlsClick(Sender: TObject);
    procedure btnBoxCtrlsMouseEnter(Sender: TObject);
    procedure ckAnimationClick(Sender: TObject);
    procedure ckEnableAnimationClick(Sender: TObject);
    procedure CB1Change(Sender: TObject);
    procedure edTimeChange(Sender: TObject);
    procedure edTileContChange(Sender: TObject);
    procedure ckSoundsCheckBoxClick(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmMain: TfrmMain;

implementation

uses ShellAPI, ctrls, about, te_theme, te_effect, te_extended, te_extra_version,
  extra_demo_FileCtrl, extra_demo_FullScreen, extra_demo_FileEdits,
  extra_demo_BoxCtrls;

{$R *.DFM}

const SRegistryKey = 'SOFTWARE\ThemeEngine\DKJ Extra';

procedure TfrmMain.FormCreate(Sender: TObject);
begin
  SeSkinForm1.Caption := 'DKJ Extra for ThemeEngine Demo v. ' + sKSExtraVersion;

  CB1.Items := GetEffectList;
  CB1.ItemIndex := 0;
  ckAnimationClick(nil);

  with DefaultSoundOptions do begin
       Enabled := True;
       WaveClickIndex:= 1;
       WaveInIndex   := 0;
       List := WaveList1;
  end;

  tbHue.Tag := 1;
  tbBrightness.Tag := 1;
  Try
    LoadThemeFromRegistry(ThemeEngine, SRegistryKey, 'ThemeFile', 'Plex', 0);
    tbHue.Position := ThemeEngine.DeltaHue;
    tbBrightness.Position := ThemeEngine.DeltaBrightness;
  finally
     tbHue.Tag := 0;
     tbBrightness.Tag := 0;
  end;
end;

procedure TfrmMain.FormDestroy(Sender: TObject);
begin
   SaveThemeToRegistry(ThemeEngine, SRegistryKey);
end;

procedure TfrmMain.CustomItem7Click(Sender: TObject);
begin
  ShellExecute(0, 'open', 'http://www.ksdev.com', nil, nil, SW_SHOWNORMAL);
end;

procedure TfrmMain.CustomItem9Click(Sender: TObject);
begin
  { About }
  frmAbout := TfrmAbout.Create(Self);
  Try
    frmAbout.ShowModal;
  Finally
    frmAbout.Free;
  end;
end;

procedure TfrmMain.btnLoadMouseEnter(Sender: TObject);
begin
  Label1.Caption := 'Use the OpenDialog to select new theme file...';
end;

procedure TfrmMain.KsBlendButton2MouseEnter(Sender: TObject);
begin
  Label1.Caption := 'Demonstration of the DKJ Extra''s extended controls...';
end;

procedure TfrmMain.CustomItem11Click(Sender: TObject);
begin
  { Controls 1 }
  frmControls := TfrmControls.Create(Self);
  try
    frmControls.ShowModal;
  finally
    frmControls.Free;
  end;
end;

procedure TfrmMain.btnLoadClick(Sender: TObject);
begin
  { Load Theme }
  if TeOpenThemeDialog1.Execute then
    ThemeEngine.ThemeFile := TeOpenThemeDialog1.FileName;
end;

procedure TfrmMain.CustomItem18Click(Sender: TObject);
begin
  Close;
end;

procedure TfrmMain.BrightnessChange(Sender: TObject);
begin
  if tbBrightness.Tag = 1 then Exit;
  ThemeEngine.DeltaBrightness := tbBrightness.Position;
end;

procedure TfrmMain.HueChange(Sender: TObject);
begin
  if tbHue.Tag = 1 then Exit;
  ThemeEngine.DeltaHue := tbHue.Position;
end;

procedure TfrmMain.BtnExtFileCtrlsMouseEnter(Sender: TObject);
begin
   Label1.Caption := 'Demonstration of the DKJ Extra''s extended File controls...';
end;

procedure TfrmMain.BtnExtFileCtrlsClick(Sender: TObject);
begin
  { Controls 1 }
  frmFileCtrl := TfrmFileCtrl.Create(Self);
  try
    frmFileCtrl.ShowModal;
  finally
    frmFileCtrl.Free;
  end;
end;

procedure TfrmMain.btnFullScreenMouseEnter(Sender: TObject);
begin
   Label1.Caption := 'Demonstration of the DKJ Extra''s extended Full-Screen Form...';
end;

procedure TfrmMain.btnFullScreenClick(Sender: TObject);
begin
  frmFullScreen := TfrmFullScreen.Create(Self);
  try
    frmFullScreen.ShowModal;
  finally
    frmFullScreen.Free;
  end;
end;

procedure TfrmMain.btnFileEditsMouseEnter(Sender: TObject);
begin
   Label1.Caption := 'Demonstration of the DKJ Extra''s extended File Edits...';
end;

procedure TfrmMain.btnFileEditsClick(Sender: TObject);
begin
  frmFileEdits := TfrmFileEdits.Create(Self);
  try
    frmFileEdits.ShowModal;
  finally
    frmFileEdits.Free;
  end;
end;

procedure TfrmMain.btnBoxCtrlsClick(Sender: TObject);
begin
  frmBoxCtrls := TfrmBoxCtrls.Create(Self);
  try
    frmBoxCtrls.ShowModal;
  finally
    frmBoxCtrls.Free;
  end;
end;

procedure TfrmMain.btnBoxCtrlsMouseEnter(Sender: TObject);
begin
  Label1.Caption := 'Demonstration of the DKJ Extra''s extended Box controls...';
end;

procedure TfrmMain.ckAnimationClick(Sender: TObject);
begin
   DefaultEffectOptions.Enabled := ckAnimation.Checked;
   ckEnableAnimationClick(Sender);
   CB1Change(Sender);
   edTimeChange(Sender);
   edTileContChange(Sender);
end;

procedure TfrmMain.ckEnableAnimationClick(Sender: TObject);
begin
   DefaultEffectOptions.Animation.Enabled := ckEnableAnimation.Checked;
end;

procedure TfrmMain.CB1Change(Sender: TObject);
begin
    DefaultEffectOptions.Animation.Effect := CB1.Text;
    DefaultEffectOptions.Animation.EffectMouseEnter := CB1.Text;
    DefaultEffectOptions.Animation.EffectMouseLeave := CB1.Text;
end;

procedure TfrmMain.edTimeChange(Sender: TObject);
begin
   DefaultEffectOptions.Animation.Time := edTime.AsInteger;
end;

procedure TfrmMain.edTileContChange(Sender: TObject);
begin
   DefaultEffectOptions.Animation.TileCount := edTileCont.AsInteger;
end;

procedure TfrmMain.ckSoundsCheckBoxClick(Sender: TObject);
begin
  with DefaultSoundOptions do begin
       Enabled := ckSounds.Checked;
       if ckMouseEnter.Checked then
          WaveInIndex   := 0
       else
          WaveInIndex   := -1;

       if ckMouseClick.Checked then
          WaveClickIndex:= 1
       else
          WaveClickIndex:= -1;
  end;
end;

end.

⌨️ 快捷键说明

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