frmmain.pas
来自「使用报表打印数据的基本操作方法」· PAS 代码 · 共 98 行
PAS
98 行
unit FrmMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, printers, qrextra, QRExport, qrprntr, quickrpt, QRCtrls,
TypInfo;
type
TForm1 = class(TForm)
btn1: TBitBtn;
BitBtn1: TBitBtn;
Memo1: TMemo;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
procedure btn1Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses
FrmQRpt, Unit2;
procedure TForm1.btn1Click(Sender: TObject);
begin
//QRptFrm.QuickRep1.Page.PaperSize := PageSetupDialog1.PageSetupDlgRec.hDevMode.dmPaperSize;
QRptFrm.QuickRep1.Preview;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Form2.QuickRep1.DataSet := QRptFrm.Table1;
Form2.QRDBText1.DataSet := QRptFrm.Table1;
Form2.QRDBText2.DataSet := QRptFrm.Table1;
Form2.QRDBText3.DataSet := QRptFrm.Table1;
Form2.QRDBText4.DataSet := QRptFrm.Table1;
Form2.QuickRep1.Preview;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
memo1.Lines.Clear;
memo1.Lines.AddStrings(printer.Printers);
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
end;
//由于使用了PageSetupDialog1後,启动特别慢,所以拿掉了
{type
pDEVMODE = ^DEVMODE;
var
pdm : pDEVMODE;
po : TPrinterOrientation;
begin
if PageSetupDialog1.Execute then begin
pdm := pDEVMODE(GlobalLock(PageSetupDialog1.PageSetupDlgRec.hDevMode));
//根据用户的选择设置纸张和从、横向
QRptFrm.QuickRep1.Page.PaperSize := TQRPaperSize((pdm^).dmPaperSize);
if (pdm^).dmOrientation = DMORIENT_PORTRAIT then
po := poPortrait
else
po := poLandscape;
//由于delphi定义的横、纵枚举值和windows不同,因此不能直接强制转换
//po := TPrinterOrientation((pdm^).dmOrientation);
//if po = poPortrait then showmessage('纵的')
//else showmessage('横的');
QRptFrm.QuickRep1.Page.Orientation := po;
end;
end;
}
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?