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

📄 setup.pas

📁 delphi 电子书阅读器 外观非常漂亮
💻 PAS
📖 第 1 页 / 共 2 页
字号:

	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;
	BtnLanguageDLL.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;

	//初始化系统设置
	CheckBoxChangeItem.Checked := g_boolChangeItem;
	CheckBoxOpenCloseFile.Checked := g_boolOpenCloseFile;
	CheckBoxClearLabel.Checked := g_boolClearLabel;
	CheckBoxClearNewItem.Checked := g_boolClearNewItem;
	CheckBoxSimpleItem.Checked := g_boolSimpleItem;

	FstrLanguageDLL := g_strLanguageDLL;
	if g_boolAutoGB then CheckBoxAutoGB.Tag := 1 else CheckBoxAutoGB.Tag := 0; CheckBoxAutoGBClick(Self);
	CheckBoxCheckText.Checked := g_boolCheckText;
	CheckBoxSaveTempFile.Checked := g_boolSaveTempFile;
	CheckBoxLanguageDLL.Checked := (g_strLanguageDLL <> '');
	BtnLanguageDLL.Enabled := CheckBoxLanguageDLL.Checked;
	CheckBoxYeView.Checked := g_boolYeView;
	BtnChangeYeFont.Enabled := g_boolYeView;
	EditMaxTextRead.Value := g_nMaxFileRead;

	DlgYeFont.Font.Assign(g_YeFont);
	DlgPageFont.Font.Assign(g_PageFont);

	BtnCancelClick(Self);
end;

procedure TFormSetup.CheckBoxMoveClick(Sender: TObject);
var
	s : string;
begin
	CheckBoxPageMove.Enabled := CheckBoxMove.Checked;
	if not CheckBoxPageMove.Enabled then
		CheckBoxPageMove.Checked := False;

	EditAutoVal.Enabled := CheckBoxAutoPagemove.Checked;
	if EditAutoVal.Enabled then
		EditAutoVal.Color := clWindow
	else
		EditAutoVal.Color := clBtnFace;

	BtnChangeUnderLineColor.Enabled := CheckBoxUnderLine.Checked;
	BtnChangeYeFont.Enabled := CheckBoxYeView.Checked;

	if (Sender is TCheckBox) then
	begin
		s := TCheckBox(Sender).Name;

		if ((s = 'CheckBoxBIG5') or (s = 'CheckBoxGB')) then
			ChangePageDo(Self);

		if (s = 'CheckBoxYeView') then
			ChangeYe(Self);
	end;
end;

procedure TFormSetup.BtnChangeUnderLineColorClick(Sender: TObject);
begin
	if DlgUnderLineColor.Execute then
	begin
		with ImageUnderLineColor.Canvas do
		begin
			Pen.Color := DlgUnderLineColor.Color;
			Brush.Color := Pen.Color;
			Polygon(FImageArray);
		end;

		BtnChangeUnderLineColor.Glyph := ImageUnderLineColor.Picture.Bitmap;
	end;
end;

procedure TFormSetup.CheckBoxBackImageClick(Sender: TObject);
begin
	BtnChangeBackImage.Enabled := CheckBoxBackImage.Checked;
	BtnChangeLabelImage.Enabled := CheckBoxLabelImage.Checked;
	BtnLanguageDLL.Enabled := CheckBoxLanguageDLL.Checked;
	ChangeImage(Self);
end;

procedure TFormSetup.BtnChangeBackImageClick(Sender: TObject);
begin
	if DlgOpenImage.Execute then
	begin
		case TSpeedButton(Sender).Tag of
			1 : FstrBackImageFilename := DlgOpenImage.Filename;
			2 : FstrLabelImageFilename := DlgOpenImage.Filename;
		end;

		ChangeImage(Self);
	end;
end;

procedure TFormSetup.BtnChangeAlarmClick(Sender: TObject);
begin
	with TFormAlarm.Create(nil) do
	begin
		ShowModal;
		Free;
	end;
end;

procedure TFormSetup.BtnLanguageDLLClick(Sender: TObject);
begin
	if (DlgOpenLanguageDLL.Execute) then
		FstrLanguageDLL := DlgOpenLanguageDLL.FileName;
end;

procedure TFormSetup.CheckBoxAutoGBClick(Sender: TObject);
begin
	with CheckBoxAutoGb do
	begin
		OnClick := nil;

		Checked := True;
		Tag := 1 - Tag;

		if Tag = 0 then
			Caption := GetWord('自动转换为GB码')
		else
			Caption := GetWord('自动转换为BIG5码');

		OnClick := CheckBoxAutoGBClick;
	end;

	ChangePageDo(Self);
end;

procedure TFormSetup.BtnChangeYeFontClick(Sender: TObject);
begin
	case TSpeedButton(Sender).Tag of
		1 :  //改变页码字体设置
		begin
			if DlgYeFont.Execute then
				ChangeYe(Self);
		end;

		2 :  //改变页面字体设置
		begin
			if DlgPageFont.Execute then
				ChangePage(Self);
		end;
	end;
end;

procedure TFormSetup.BtnOkClick(Sender: TObject);
var
	i : integer;
begin
	//调整书本设置
	try
		g_nBookLeft := StrToInt(EditBookLeft.Text);
	except
		PageControl1.ActivePageIndex := 0;
		EditBookLeft.SetFocus;
		EditBookLeft.SelectAll;
		Exit;
	end;

	try
		g_nBookTop := StrToInt(EditBookTop.Text);
	except
		PageControl1.ActivePageIndex := 0;
		EditBookTop.SetFocus;
		EditBookTop.SelectAll;
		Exit;
	end;

	try
		g_nBookWidth := StrToInt(EditBookWidth.Text);
	except
		PageControl1.ActivePageIndex := 0;
		EditBookWidth.SetFocus;
		EditBookWidth.SelectAll;
		Exit;
	end;

	try
		g_nBookHeight := StrToInt(EditBookHeight.Text);
	except
		PageControl1.ActivePageIndex := 0;
		EditBookHeight.SetFocus;
		EditBookHeight.SelectAll;
		Exit;
	end;

	//调整页面设置
	g_boolMove := CheckBoxMove.Checked;
	g_boolResize := CheckBoxResize.Checked;
	g_boolPageMove := CheckBoxPageMove.Checked;
	g_boolPageYe := CheckBoxPageYe.Checked;
	g_boolMax := CheckBoxMax.Checked;
	g_boolSinglePage := CheckBoxSinglePage.Checked;
	g_boolAutoPageMove := CheckBoxAutoPageMove.Checked;

	try
		g_nAutoVal := StrToInt(EditAutoVal.Text);
	except
		PageControl1.ActivePageIndex := 1;
		EditAutoVal.SetFocus;
		EditAutoVal.SelectAll;
		Exit;
	end;

	g_boolBIG5 := CheckBoxBIG5.Checked;
	g_boolGB := CheckBoxGB.Checked;
	g_boolHtml := CheckBoxHtml.Checked;
	g_boolChap := CheckBoxChap.Checked;
	g_boolHangD := CheckBoxHangD.Checked;
	g_boolUnderLine := CheckBoxUnderLine.Checked;
	g_nUnderLineColor := DlgUnderLineColor.Color;

	//调整页码设置
	g_strYe1Be := ComboBoxYe1Be.Text;
	g_strYe1Af := ComboBoxYe1Af.Text;

	for i := 1 to 3 do
		if TRadioButton(FindComponent('RbYe1Loc' + IntToStr(i))).Checked then
			g_strYe1Loc[1] := IntToStr(i)[1];

	for i := 1 to 2 do
		if TRadioButton(FindComponent('RbYe1Loc' + IntToStr(i + 3))).Checked then
			g_strYe1Loc[2] := IntToStr(i)[1];

	g_boolYe1Count := CheckBoxYe1Count.Checked;

	g_strYe2Be := ComboBoxYe2Be.Text;
	g_strYe2Af := ComboBoxYe2Af.Text;

	for i := 1 to 3 do
		if TRadioButton(FindComponent('RbYe2Loc' + IntToStr(i))).Checked then
			g_strYe2Loc[1] := IntToStr(i)[1];

	for i := 1 to 2 do
		if TRadioButton(FindComponent('RbYe2Loc' + IntToStr(i + 3))).Checked then
			g_strYe2Loc[2] := IntToStr(i)[1];

	g_boolYe2Count := CheckBoxYe2Count.Checked;

	//调整编码设置
	g_boolUnMimeCode := RbUnMimeCode.Checked;
	g_boolUnQPCode := RbUnQPCode.Checked;
	g_boolUnHZCode := RbUnHZCode.Checked;

	//调整界面设置
	g_boolBackImage := CheckBoxBackImage.Checked;
	g_strBackImageFilename := FstrBackImageFilename;
	g_boolLabelImage := CheckBoxLabelImage.Checked;
	g_strLabelImageFilename := FstrLabelImageFilename;
	g_boolShowTime := CheckBoxShowTime.Checked;
	g_boolFlat := CheckBoxFlat.Checked;
	g_boolViewCtrl := CheckBoxViewCtrl.Checked;

	//调整系统设置
	g_boolChangeItem := CheckBoxChangeItem.Checked;
	g_boolOpenCloseFile := CheckBoxOpenCloseFile.Checked;
	g_boolClearLabel := CheckBoxClearLabel.Checked;
	g_boolClearNewItem := CheckBoxClearNewItem.Checked;
	g_boolSimpleItem := CheckBoxSimpleItem.Checked;

	g_strLanguageDLL := FstrLanguageDLL;
	g_boolAutoGB := (CheckBoxAutoGB.Tag = 0);
	g_boolCheckText := CheckBoxCheckText.Checked;
	g_boolSaveTempFile := CheckBoxSaveTempFile.Checked;
	if (not CheckBoxLanguageDLL.Checked) then g_strLanguageDLL := '';
	g_boolYeView := CheckBoxYeView.Checked;
	g_nMaxFileRead := EditMaxTextRead.Value;

	g_YeFont.Assign(DlgYeFont.Font);
	g_PageFont.Assign(DlgPageFont.Font);

	ModalResult := mrOk;
end;

procedure TFormSetup.BtnCancelClick(Sender: TObject);
begin
    //取消设置
	g_boolChangeMax := False;     //写标志:没有改变最大化显示设置
	g_boolChangeWindow := False;  //写标志:没有改变窗口设置
	g_boolChangePage := False;    //写标志:没有改变页面设置
	g_boolChangeYe := False;      //写标志:没有改变页码设置
	g_boolChangePageDo := False;  //写标志:没有改变处理设置
	g_boolChangeImage := False;   //写标志:没有改变背景设置
end;

procedure TFormSetup.BtnDefaultClick(Sender: TObject);
begin
	if not Confirm(GetWord('恢复为默认设置?')) then ModalResult := mrNone;
end;

procedure TFormSetup.ChangeMax(Sender: TObject);
begin
	//写标志:改变最大化显示设置
	g_boolChangeMax := True;
end;

procedure TFormSetup.ChangeWindow(Sender: TObject);
begin
	//写标志:改变窗口设置
	g_boolChangeWindow := True;

	//如果是单页显示,则改变背景设置
	if ((Sender is TCheckBox) and (TCheckBox(Sender).Name = 'CheckBoxSinglePage')) then
		ChangeImage(Sender);
end;

procedure TFormSetup.ChangePage(Sender: TObject);
begin
	//写标志:改变页面设置
	g_boolChangePage := True;
end;

procedure TFormSetup.ChangeYe(Sender: TObject);
begin
	//写标志:改变页码设置
	g_boolChangeYe := True;
end;

procedure TFormSetup.ChangePageDo(Sender: TObject);
begin
	//写标志:改变处理设置
	g_boolChangePageDo := True;
end;

procedure TFormSetup.ChangeImage(Sender: TObject);
begin
	//写标志:改变背景设置
	g_boolChangeImage := True;
end;

end.

⌨️ 快捷键说明

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