📄 setup.pas
字号:
{
模块名称:设置
使用方法:1、Create
2、ShowModal
返回值: 1、mrOk: 更改系统设置
2、mrRetry: 恢复默认设置
}
unit Setup;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls, ExtCtrls, Buttons, checklst, Registry, ExtDlgs, Spin;
type
TFormSetup = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
TabSheet5: TTabSheet;
TabSheet6: TTabSheet;
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
GroupBox4: TGroupBox;
GroupBox5: TGroupBox;
GroupBox6: TGroupBox;
GroupBox7: TGroupBox;
GroupBox8: TGroupBox;
GroupBox9: TGroupBox;
GroupBox10: TGroupBox;
GroupBox11: TGroupBox;
GroupBox12: TGroupBox;
GroupBox13: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
EditBookLeft: TEdit;
EditBookTop: TEdit;
EditBookWidth: TEdit;
EditBookHeight: TEdit;
EditFilename: TEdit;
LabelYeCount: TLabel;
LabelWordCount: TLabel;
LabelYeCurrent: TLabel;
LabelAutoPageMove: TLabel;
LabelAutoVal: TLabel;
EditSoundFilename: TEdit;
CheckBoxMove: TCheckBox;
CheckBoxResize: TCheckBox;
CheckBoxPageMove: TCheckBox;
CheckBoxPageYe: TCheckBox;
CheckBoxMax: TCheckBox;
CheckBoxSinglePage: TCheckBox;
CheckBoxAutoPageMove: TCheckBox;
EditAutoVal: TEdit;
CheckBoxBIG5: TCheckBox;
CheckBoxGB: TCheckBox;
CheckBoxHtml: TCheckBox;
CheckBoxChap: TCheckBox;
CheckBoxHangD: TCheckBox;
CheckBoxUnderLine: TCheckBox;
BtnChangeUnderLineColor: TSpeedButton;
ImageUnderLineColor: TImage;
ComboBoxYe1Be: TComboBox;
ComboBoxYe1Af: TComboBox;
RbYe1loc1: TRadioButton;
RbYe1loc2: TRadioButton;
RbYe1loc3: TRadioButton;
RbYe1loc4: TRadioButton;
RbYe1loc5: TRadioButton;
CheckBoxYe1Count: TCheckBox;
ComboBoxYe2Be: TComboBox;
ComboBoxYe2Af: TComboBox;
RbYe2loc1: TRadioButton;
RbYe2loc2: TRadioButton;
RbYe2loc3: TRadioButton;
RbYe2loc4: TRadioButton;
RbYe2loc5: TRadioButton;
CheckBoxYe2Count: TCheckBox;
RbUnMimeCode: TRadioButton;
RbUnQPCode: TRadioButton;
RbUnHZCode: TRadioButton;
RbUnNoneCode: TRadioButton;
CheckBoxBackImage: TCheckBox;
CheckBoxLabelImage: TCheckBox;
CheckBoxShowTime: TCheckBox;
CheckBoxFlat: TCheckBox;
CheckBoxViewCtrl: TCheckBox;
BtnChangeBackImage: TSpeedButton;
BtnChangeLabelImage: TSpeedButton;
BtnChangeAlarm: TSpeedButton;
CheckBoxChangeItem: TCheckBox;
CheckBoxOpenCloseFile: TCheckBox;
CheckBoxClearLabel: TCheckBox;
CheckBoxClearNewItem: TCheckBox;
CheckBoxSimpleItem: TCheckBox;
CheckBoxAutoGB: TCheckBox;
CheckBoxYeView: TCheckBox;
BtnChangeYeFont: TSpeedButton;
BtnChangePageFont: TSpeedButton;
EditMaxTextRead: TSpinEdit;
DlgYeFont: TFontDialog;
DlgPageFont: TFontDialog;
DlgOpenImage: TOpenPictureDialog;
DlgUnderLineColor: TColorDialog;
BtnOk: TButton;
BtnCancel: TButton;
BtnDefault: TButton;
procedure FormCreate(Sender: TObject);
procedure CheckBoxMoveClick(Sender: TObject);
procedure CheckBoxBackImageClick(Sender: TObject);
procedure BtnChangeUnderLineColorClick(Sender: TObject);
procedure BtnChangeBackImageClick(Sender: TObject);
procedure BtnChangeAlarmClick(Sender: TObject);
procedure CheckBoxAutoGBClick(Sender: TObject);
procedure BtnChangeYeFontClick(Sender: TObject);
procedure BtnOkClick(Sender: TObject);
procedure BtnCancelClick(Sender: TObject);
procedure BtnDefaultClick(Sender: TObject);
procedure ChangeMax(Sender: TObject);
procedure ChangeWindow(Sender: TObject);
procedure ChangePage(Sender: TObject);
procedure ChangeYe(Sender: TObject);
procedure ChangePageDo(Sender: TObject);
procedure ChangeImage(Sender: TObject);
private
{ Private declarations }
FstrBackImageFilename : string;
FstrLabelImageFilename : string;
FImageArray : array [1 .. 5] of TPoint; //下划线颜色区域
public
{ Public declarations }
end;
var
FormSetup: TFormSetup;
implementation
uses
Alarm,
Global,
MP3Play; //为了得到背景音乐的文件名
{$R *.DFM}
procedure TFormSetup.FormCreate(Sender: TObject);
var i : integer;
begin
//初始化显示页
PageControl1.ActivePageIndex := 0;
//初始化书本设置
EditBookLeft.Text := IntToStr(g_nBookLeft);
EditBookTop.Text := IntToStr(g_nBookTop);
EditBookWidth.Text := IntToStr(g_nBookWidth);
EditBookHeight.Text := IntToStr(g_nBookHeight);
EditFilename.Text := g_strFilename;
if EditFilename.Text = '' then EditFilename.Text := '说明文件';
LabelYeCount.Caption := '共' + IntToStr(g_nYeCount) + '页';
LabelWordCount.Caption := '共' + IntToStr(g_nCountWord) + '字';
LabelYeCurrent.Caption := '第' + IntToStr(g_nYeCurrent) + '页';
if g_boolAutoPageMove then
begin
LabelAutoPageMove.Caption := '允许自动翻页';
LabelAutoVal.Caption := IntToStr(g_nAutoVal) + '秒';
end
else
begin
LabelAutoPageMove.Caption := '不允许自动翻页';
LabelAutoVal.Caption := '';
end;
EditSoundFilename.Text := '';
if FormMP3Play.ListBoxSoundName.Items.Count <= 0 then
EditSoundFilename.Text := '没有选择音乐文件'
else
for i := 0 to FormMP3Play.ListBoxSoundName.Items.Count - 1 do
EditSoundFilename.Text := EditSoundFilename.Text +
ExtractFileName(FormMP3Play.ListBoxSoundName.Items[i]) + ' | ';
//初始化页面设置
FImageArray[1].x := 0;
FImageArray[1].y := 0;
FImageArray[2].x := ImageUnderLineColor.Width - 2;
FImageArray[2].y := 0;
FImageArray[3].x := ImageUnderLineColor.Width - 2;
FImageArray[3].y := ImageUnderLineColor.Height - 2;
FImageArray[4].x := 0;
FImageArray[4].y := ImageUnderLineColor.Height - 2;
FImageArray[5].x := FImageArray[1].x;
FImageArray[5].y := FImageArray[1].y;
CheckBoxMove.Checked := g_boolMove;
CheckBoxResize.Checked := g_boolResize;
CheckBoxPageMove.Enabled := g_boolMove;
CheckBoxPageMove.Checked := g_boolPageMove;
CheckBoxPageYe.Checked := g_boolPageYe;
CheckBoxMax.Checked := g_boolMax;
CheckBoxSinglePage.Checked := g_boolSinglePage;
CheckBoxAutoPageMove.Checked := g_boolAutoPageMove;
EditAutoVal.Enabled := g_boolAutoPageMove;
EditAutoVal.Text := IntToStr(g_nAutoVal);
if EditAutoVal.Enabled then
EditAutoVal.Color := clWindow
else
EditAutoVal.Color := clBtnFace;
CheckBoxBIG5.Checked := g_boolBIG5;
CheckBoxGB.Checked := g_boolGB;
CheckBoxHtml.Checked := g_boolHtml;
CheckBoxChap.Checked := g_boolChap;
CheckBoxHangD.Checked := g_boolHangD;
CheckBoxUnderLine.Checked := g_boolUnderLine;
BtnChangeUnderLineColor.Enabled := g_boolUnderLine;
DlgUnderLineColor.Color := g_nUnderLineColor;
with ImageUnderLineColor.Canvas do
begin
Pen.Color := DlgUnderLineColor.Color;
Brush.Color := Pen.Color;
Polygon(FImageArray);
end;
BtnChangeUnderLineColor.Glyph := ImageUnderLineColor.Picture.Bitmap;
//初始化页码设置
ComboBoxYe1Be.Text := g_strYe1Be;
ComboBoxYe1Af.Text := g_strYe1Af;
TRadioButton(FindComponent('RbYe1Loc' + g_strYe1Loc[1])).Checked := True;
TRadioButton(FindComponent('RbYe1Loc' + IntToStr(StrToInt(g_strYe1Loc[2]) + 3))).Checked := True;
CheckBoxYe1Count.Checked := g_boolYe1Count;
ComboBoxYe2Be.Text := g_strYe2Be;
ComboBoxYe2Af.Text := g_strYe2Af;
TRadioButton(FindComponent('RbYe2Loc' + g_strYe2Loc[1])).Checked := True;
TRadioButton(FindComponent('RbYe2Loc' + IntToStr(StrToInt(g_strYe2Loc[2]) + 3))).Checked := True;
CheckBoxYe2Count.Checked := g_boolYe2Count;
//初始化编码设置
RbUnMimeCode.Checked := g_boolUnMimeCode;
RbUnQPCode.Checked := g_boolUnQPCode;
RbUnHZCode.Checked := g_boolUnHZCode;
RbUnNoneCode.Checked := not (g_boolUnMimeCode or g_boolUnQPCode or g_boolUnHZCode);
//初始化界面设置
BtnChangeUnderLineColor.Flat := g_boolFlat;
BtnChangeBackImage.Flat := g_boolFlat;
BtnChangeLabelImage.Flat := g_boolFlat;
BtnChangeAlarm.Flat := g_boolFlat;
BtnChangeYeFont.Flat := g_boolFlat;
BtnChangePageFont.Flat := g_boolFlat;
FstrBackImageFilename := g_strBackImageFilename;
FstrLabelImageFilename := g_strLabelImageFilename;
CheckBoxBackImage.Checked := g_boolBackImage;
BtnChangeBackImage.Enabled := g_boolBackImage;
CheckBoxLabelImage.Checked := g_boolLabelImage;
BtnChangeLabelImage.Enabled := g_boolLabelImage;
CheckBoxShowTime.Checked := g_boolShowTime;
CheckBoxFlat.Checked := g_boolFlat;
CheckBoxViewCtrl.Checked := g_boolViewCtrl;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -