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

📄 rm_iflds.pas

📁 进销存·完整的·有数据库的·非常完整·只得参考
💻 PAS
字号:

{*****************************************}
{                                         }
{         Report Machine v2.0             }
{          Insert fields dialog           }
{                                         }
{*****************************************}

unit RM_iflds;

interface

{$I RM.inc}

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, RM_DBRel, ExtCtrls, DB;

type
  TRMInsertFieldsForm = class(TForm)
    Label1: TLabel;
    GroupBox1: TGroupBox;
    HorzRB: TRadioButton;
    VertRB: TRadioButton;
    btnOK: TButton;
    btnCancel: TButton;
    GroupBox2: TGroupBox;
    HeaderCB: TCheckBox;
    BandCB: TCheckBox;
    Image1: TImage;
    Image2: TImage;
    FieldsL: TListBox;
    DatasetCB: TComboBox;
    procedure DatasetCBChange(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FieldsLDrawItem(Control: TWinControl; Index: Integer;
      ARect: TRect; State: TOwnerDrawState);
    procedure DatasetCBDrawItem(Control: TWinControl; Index: Integer;
      ARect: TRect; State: TOwnerDrawState);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    procedure Localize;
  public
    { Public declarations }
    DataSet: TDataSet;
  end;

implementation

uses RM_Class, RM_Const, RM_Utils;

{$R *.DFM}

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

  RMSetStrProp(Self, 'Caption', rmRes + 630);
  RMSetStrProp(Label1, 'Caption', rmRes + 631);
  RMSetStrProp(GroupBox1, 'Caption', rmRes + 632);
  RMSetStrProp(HorzRB, 'Caption', rmRes + 633);
  RMSetStrProp(VertRB, 'Caption', rmRes + 634);
  RMSetStrProp(HeaderCB, 'Caption', rmRes + 635);
  RMSetStrProp(BandCB, 'Caption', rmRes + 636);

  btnOK.Caption := RMLoadStr(SOk);
  btnCancel.Caption := RMLoadStr(SCancel);
end;

procedure TRMInsertFieldsForm.FormShow(Sender: TObject);
begin
  DataSet := nil;
  CurReport.Dictionary.GetDatasetList(DatasetCB.Items);
  if DatasetCB.Items.Count > 0 then
    DatasetCB.ItemIndex := 0;
  DatasetCBChange(nil);
end;

procedure TRMInsertFieldsForm.DatasetCBChange(Sender: TObject);
var
  DSName: string;
begin
  DSName := DatasetCB.Items[DatasetCB.ItemIndex];
  DataSet := RMGetDataSet(CurReport.Dictionary.RealDataSetName[DSName]);
  CurReport.Dictionary.GetFieldList(DSName, FieldsL.Items);
end;

procedure TRMInsertFieldsForm.DatasetCBDrawItem(Control: TWinControl;
  Index: Integer; ARect: TRect; State: TOwnerDrawState);
var
  r: TRect;
begin
  r := ARect;
  r.Right := r.Left + 18;
  r.Bottom := r.Top + 16;
  OffsetRect(r, 2, 0);
  with DatasetCB.Canvas do
  begin
    FillRect(ARect);
    BrushCopy(r, Image1.Picture.Bitmap, Rect(0, 0, 18, 16), clGreen);
    TextOut(ARect.Left + 20, ARect.Top + 1, DatasetCB.Items[Index]);
  end;
end;

procedure TRMInsertFieldsForm.FieldsLDrawItem(Control: TWinControl;
  Index: Integer; ARect: TRect; State: TOwnerDrawState);
var
  r: TRect;
begin
  r := ARect;
  r.Right := r.Left + 18;
  r.Bottom := r.Top + 16;
  OffsetRect(r, 2, 0);
  with FieldsL.Canvas do
  begin
    FillRect(ARect);
    BrushCopy(r, Image2.Picture.Bitmap, Rect(0, 0, 18, 16), clGreen);
    TextOut(ARect.Left + 20, ARect.Top + 1, FieldsL.Items[Index]);
  end;
end;

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

end.

⌨️ 快捷键说明

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