📄 rm_iflds.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 + -