📄 rm_dsopt.pas
字号:
{*****************************************}
{ }
{ Report Machine v2.0 }
{ Designer options }
{ }
{*****************************************}
unit RM_dsopt;
interface
{$I RM.inc}
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, ExtCtrls, RM_common;
type
TRMDesOptionsForm = class(TForm)
PageControl1: TPageControl;
Tab1: TTabSheet;
GroupBox1: TGroupBox;
CB1: TCheckBox;
CB2: TCheckBox;
GroupBox3: TGroupBox;
RB6: TRadioButton;
RB7: TRadioButton;
RB8: TRadioButton;
GroupBox4: TGroupBox;
RB1: TRadioButton;
RB2: TRadioButton;
RB3: TRadioButton;
btnOK: TButton;
btnCancel: TButton;
GroupBox5: TGroupBox;
CB4: TCheckBox;
CB5: TCheckBox;
Tab2: TTabSheet;
GroupBox7: TGroupBox;
Label2: TLabel;
Label3: TLabel;
ERB1: TRadioButton;
ERB2: TRadioButton;
SampleTextPanel: TPanel;
GroupBox8: TGroupBox;
Label4: TLabel;
Label5: TLabel;
SampleScriptPanel: TPanel;
GroupBox6: TGroupBox;
RB9: TRadioButton;
RB10: TRadioButton;
RB11: TRadioButton;
GroupBox2: TGroupBox;
Label1: TLabel;
CB6: TCheckBox;
TextFontSizeCB: TComboBox;
ScriptFontSizeCB: TComboBox;
CB7: TCheckBox;
chkAutoOpenLastFile: TCheckBox;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Label1Click(Sender: TObject);
procedure ERB1Click(Sender: TObject);
private
{ Private declarations }
FcmbTextFontName: TRMFontComboBox;
FcmbScriptFontName: TRMFontComboBox;
procedure OnTextFontNameChangeEvent(Sender: TObject);
procedure ONScriptFontNameChangeEvent(Sender: TObject);
procedure Localize;
public
{ Public declarations }
end;
implementation
{$R *.DFM}
uses Registry, RM_Class, RM_Utils, RM_Const, RM_Const1;
procedure TRMDesOptionsForm.Localize;
begin
Font.Name := RMLoadStr(SRMDefaultFontName);
Font.Size := StrToInt(RMLoadStr(SRMDefaultFontSize));
Font.Charset := StrToInt(RMLoadStr(SCharset));
Caption := RMLoadStr(rmRes + 280);
Tab1.Caption := RMLoadStr(rmRes + 281);
GroupBox1.Caption := RMLoadStr(rmRes + 282);
GroupBox2.Caption := RMLoadStr(rmRes + 283);
GroupBox3.Caption := RMLoadStr(rmRes + 284);
GroupBox4.Caption := RMLoadStr(rmRes + 285);
GroupBox5.Caption := RMLoadStr(rmRes + 297);
GroupBox6.Caption := RMLoadStr(rmRes + 300);
CB1.Caption := RMLoadStr(rmRes + 286);
CB2.Caption := RMLoadStr(rmRes + 287);
CB4.Caption := RMLoadStr(rmRes + 298);
CB5.Caption := RMLoadStr(rmRes + 299);
CB7.Caption := RMLoadStr(rmRes + 311);
RB1.Caption := RMLoadStr(rmRes + 289);
RB2.Caption := RMLoadStr(rmRes + 290);
RB3.Caption := RMLoadStr(rmRes + 291);
Label1.Caption := RMLoadStr(rmRes + 293);
RB6.Caption := RMLoadStr(rmRes + 294);
RB7.Caption := RMLoadStr(rmRes + 295);
RB8.Caption := RMLoadStr(rmRes + 296);
RB9.Caption := RMLoadStr(rmRes + 301);
RB10.Caption := RMLoadStr(rmRes + 302);
RB11.Caption := RMLoadStr(rmRes + 303);
chkAutoOpenLastFile.Caption := RMLoadStr(rmRes + 312);
Tab2.Caption := RMLoadStr(rmRes + 304);
GroupBox7.Caption := RMLoadStr(rmRes + 305);
GroupBox8.Caption := RMLoadStr(rmRes + 310);
ERB1.Caption := RMLoadStr(rmRes + 306);
ERB2.Caption := RMLoadStr(rmRes + 307);
Label2.Caption := RMLoadStr(rmRes + 308);
Label3.Caption := RMLoadStr(rmRes + 309);
Label4.Caption := RMLoadStr(rmRes + 308);
Label5.Caption := RMLoadStr(rmRes + 309);
btnOK.Caption := RMLoadStr(SOk);
btnCancel.Caption := RMLoadStr(SCancel);
end;
procedure TRMDesOptionsForm.OnTextFontNameChangeEvent(Sender: TObject);
begin
{$IFNDEF Delphi2}
SampleTextPanel.Font.Charset := RMCharset;
{$ENDIF}
SampleTextPanel.Font.Name := FcmbTextFontName.Text;
SampleTextPanel.Font.Size := StrToInt(TextFontSizeCB.Text);
end;
procedure TRMDesOptionsForm.OnScriptFontNameChangeEvent(Sender: TObject);
begin
{$IFNDEF Delphi2}
SampleScriptPanel.Font.Charset := RMCharset;
{$ENDIF}
SampleScriptPanel.Font.Name := FcmbScriptFontName.Text;
SampleScriptPanel.Font.Size := StrToInt(ScriptFontSizeCB.Text);
end;
procedure TRMDesOptionsForm.FormCreate(Sender: TObject);
var
Ini: TRegIniFile;
Nm: String;
begin
Localize;
FcmbTextFontName := TRMFontComboBox.Create(GroupBox7);
with FcmbTextFontName do
begin
Parent := GroupBox7;
Left := 80;
Top := 60;
Height := 19;
Width := 133;
OnChange := OnTextFontNameChangeEvent;
end;
FcmbScriptFontName := TRMFontComboBox.Create(GroupBox8);
with FcmbScriptFontName do
begin
Parent := GroupBox8;
Left := 80;
Top := 20;
Height := 19;
Width := 133;
UseFonts := TRUE;
OnChange := OnScriptFontNameChangeEvent;
end;
PageControl1.Activepage := Tab1;
Ini := TRegIniFile.Create(RegRootKey);
Nm := rsForm + RMDesigner.ClassName;
FcmbTextFontName.Text := Ini.ReadString(Nm, 'TextFontName', 'Arial');
TextFontSizeCB.Text := Ini.ReadString(Nm, 'TextFontSize', '10');
FcmbScriptFontName.Text := Ini.ReadString(Nm, 'ScriptFontName', 'Courier New');
ScriptFontSizeCB.Text := Ini.ReadString(Nm, 'ScriptFontSize', '10');
ERB1.Checked := Ini.ReadBool(Nm, 'UseDefaultFont', True);
ERB2.Checked := not ERB1.Checked;
Ini.Free;
ERB1Click(nil);
OnTextFontNameChangeEvent(nil);
OnScriptFontNameChangeEvent(nil);
end;
procedure TRMDesOptionsForm.FormClose(Sender: TObject;
var Action: TCloseAction);
var
Ini: TRegIniFile;
Nm: String;
begin
if ModalResult = mrOk then
begin
Ini := TRegIniFile.Create(RegRootKey);
Nm := rsForm + RMDesigner.ClassName;
Ini.WriteString(Nm, 'TextFontName', FcmbTextFontName.Text);
Ini.WriteString(Nm, 'TextFontSize', TextFontSizeCB.Text);
Ini.WriteString(Nm, 'ScriptFontName', FcmbScriptFontName.Text);
Ini.WriteString(Nm, 'ScriptFontSize', ScriptFontSizeCB.Text);
Ini.WriteBool(Nm, 'UseDefaultFont', ERB1.Checked);
Ini.Free;
end;
end;
procedure TRMDesOptionsForm.Label1Click(Sender: TObject);
begin
CB6.Checked := not CB6.Checked;
end;
procedure TRMDesOptionsForm.ERB1Click(Sender: TObject);
begin
RMEnableControls([Label2, FcmbTextFontName, Label3, TextFontSizeCB], ERB2.Checked);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -