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

📄 rm_dsopt.pas

📁 report machine 2.3 功能强大
💻 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 + -