rm_editorgroup.pas

来自「胜天进销存源码,国产优秀的进销存」· PAS 代码 · 共 110 行

PAS
110
字号

{*****************************************}
{                                         }
{         Report Machine v2.0             }
{            Group band editor            }
{                                         }
{*****************************************}

unit RM_EditorGroup;

interface

{$I RM.inc}

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, RM_Class, RM_Const, ExtCtrls, Buttons;

type
  TRMGroupEditorForm = class(TForm)
    btnOK: TButton;
    btnCancel: TButton;
    GB1: TGroupBox;
    Edit1: TEdit;
    btnExpr: TSpeedButton;
    GroupBox1: TGroupBox;
    chkKeepFooter: TCheckBox;
    chkKeepTogether: TCheckBox;
    chkNewPageAfter: TCheckBox;
    chkOutline: TCheckBox;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure btnExprClick(Sender: TObject);
  private
    { Private declarations }
    procedure Localize;
  public
    { Public declarations }
    procedure ShowEditor(View: TRMView);
  end;

implementation

uses RM_Utils, RM_EditorExpr;

{$R *.DFM}

procedure TRMGroupEditorForm.Localize;
begin
  Font.Name := RMLoadStr(SRMDefaultFontName);
  Font.Size := StrToInt(RMLoadStr(SRMDefaultFontSize));
  Font.Charset := StrToInt(RMLoadStr(SCharset));

  GB1.Caption := RMLoadStr(rmRes + 491);
  btnExpr.Hint := RMLoadStr(rmRes + 492);

	RMSetStrProp(GroupBox1, 'Caption', rmRes + 873);
	RMSetStrProp(chkKeepFooter, 'Caption', rmRes + 884);
	RMSetStrProp(chkKeepTogether, 'Caption', rmRes + 883);
	RMSetStrProp(chkNewPageAfter, 'Caption', SFormNewPage);
	RMSetStrProp(chkOutline, 'Caption', rmRes + 493);

  btnOK.Caption := RMLoadStr(SOk);
  btnCancel.Caption := RMLoadStr(SCancel);
  Caption := RMLoadStr(rmRes + 491{490});
end;

procedure TRMGroupEditorForm.ShowEditor(View: TRMView);
begin
  Edit1.Text := TRMBandGroupHeader(View).GroupCondition;
  chkKeepFooter.Checked := TRMBandGroupHeader(View).KeepFooter;
  chkKeepTogether.Checked := TRMBandGroupHeader(View).KeepTogether;
  chkNewPageAfter.Checked := TRMBandGroupHeader(View).NewPageAfter;
  chkOutline.Checked := TRMBandGroupHeader(View).OutlineText <> '';
  if ShowModal = mrOk then
  begin
    RMDesigner.BeforeChange;
    TRMBandGroupHeader(View).GroupCondition := Edit1.Text;
    TRMBandGroupHeader(View).KeepFooter := chkKeepFooter.Checked;
    TRMBandGroupHeader(View).KeepTogether := chkKeepTogether.Checked;
    TRMBandGroupHeader(View).NewPageAfter := chkNewPageAfter.Checked;
    if chkOutline.Checked then
  	  TRMBandGroupHeader(View).OutlineText := Edit1.Text
    else
	    TRMBandGroupHeader(View).OutlineText := '';
  end;
end;

procedure TRMGroupEditorForm.FormCreate(Sender: TObject);
begin
  Localize;
end;

procedure TRMGroupEditorForm.FormShow(Sender: TObject);
begin
  Edit1.SelectAll;
end;

procedure TRMGroupEditorForm.btnExprClick(Sender: TObject);
var
  expr: string;
begin
  expr := RMDesigner.InsertExpression;
  if expr <> '' then
    Edit1.Text := expr;
end;

end.

⌨️ 快捷键说明

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