lazarus/components/lazreport/source/lr_prdlg.pas
jesus 5504a82697 LazReport: Patch from Alexey Lagunov
1. Localization Collate option in the form of print options
2. Fixed search on the generated report is not English texts
3. The expanded diagnostic error messages during the reporting
4. Prohibited creating variables in reports containing the point:
   for example aaa.bbb: = 1;

git-svn-id: trunk@43821 -
2014-01-27 08:11:46 +00:00

137 lines
3.2 KiB
ObjectPascal

{*****************************************}
{ }
{ FastReport v2.3 }
{ Print dialog }
{ }
{ Copyright (c) 1998-99 by Tzyganenko A. }
{ }
{*****************************************}
unit LR_PrDlg;
interface
{$I LR_Vers.inc}
uses
Classes, SysUtils, LResources,
Forms, Controls, Graphics, Dialogs,
Buttons, StdCtrls,LCLIntf,ExtCtrls, Spin,
PrintersDlgs;
type
{ TfrPrintForm }
TfrPrintForm = class(TForm)
cbCollate: TCheckBox;
Label1: TLabel;
GroupBox2: TGroupBox;
RB1: TRadioButton;
RB2: TRadioButton;
RB3: TRadioButton;
E2: TEdit;
Label2: TLabel;
OkButton: TButton;
CancelButton: TButton;
GroupBox1: TGroupBox;
CB1: TComboBox;
PropButton: TButton;
PrinterSetupDialog1: TPrinterSetupDialog;
Image1: TImage;
E1: TSpinEdit;
procedure CB1DrawItem({%H-}Control: TWinControl; Index: Integer;
ARect: TRect; {%H-}State: TOwnerDrawState);
procedure FormCreate(Sender: TObject);
procedure PropButtonClick(Sender: TObject);
procedure CB1Click(Sender: TObject);
procedure E2Click(Sender: TObject);
procedure RB3Click(Sender: TObject);
procedure FormDeactivate(Sender: TObject);
private
{ Private declarations }
OldIndex: Integer;
public
{ Public declarations }
end;
var
frPrintForm: TfrPrintForm;
implementation
{$R *.lfm}
uses LR_Const, LR_Prntr,Printers;
procedure TfrPrintForm.FormCreate(Sender: TObject);
begin
CB1.Items.Assign(Printer.Printers);
CB1.ItemIndex := Printer.PrinterIndex;
OldIndex := Printer.PrinterIndex;
Caption := sPrintFormPrint;
GroupBox1.Caption := sPrintFormPrinter;
PropButton.Caption := sPrintFormProp;
Label1.Caption := sPrintFormCopy;
GroupBox2.Caption := sPrintFormPgRange;
RB1.Caption := sPrintFormAll;
RB2.Caption := sPrintFormCurPg;
RB3.Caption := sPrintFormNumber;
Label2.Caption := sPrintFormInfo;
OkButton.Caption := sOk;
CancelButton.Caption := sCancel;
cbCollate.Caption:=sPrintFormCollate;
{$IFDEF PRINTDIALOG_DISABLE_PRINTER_PROPERTIES}
propButton.Enabled := false;
{$ENDIF}
end;
procedure TfrPrintForm.FormDeactivate(Sender: TObject);
begin
if ModalResult <> mrOk then
Prn.PrinterIndex := OldIndex;
end;
procedure TfrPrintForm.CB1DrawItem(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 CB1.Canvas do
begin
FillRect(ARect);
// todo: implement brushcopy
//BrushCopy(r, Image1.Picture.Bitmap, Rect(0, 0, 18, 16), clOlive);
TextOut(ARect.Left + 24, ARect.Top + 1, CB1.Items[Index]);
end;
end;
procedure TfrPrintForm.PropButtonClick(Sender: TObject);
begin
PrinterSetupDialog1.Execute;
CB1.ItemIndex := Printer.PrinterIndex;
end;
procedure TfrPrintForm.CB1Click(Sender: TObject);
begin
Prn.PrinterIndex := CB1.ItemIndex;
end;
procedure TfrPrintForm.E2Click(Sender: TObject);
begin
RB3.Checked := True;
end;
procedure TfrPrintForm.RB3Click(Sender: TObject);
begin
E2.SetFocus;
end;
end.