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

📄 setup.pas

📁 电子小说阅读器v2.68可用于阅读pdf.html等各种形式的文档
💻 PAS
📖 第 1 页 / 共 2 页
字号:
{
模块名称:设置

使用方法: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 + -