QRPreview1.QRPrinter := qrickrep1.qrprinter;
解决方案 »
- 用斑竹IOCP做转发数据的例子,求高手指教
- FastReport如何只打印满足一定条件的记录?例如
- SQL语句插入数据库出了问题,大家帮忙看一下
- 谁能告诉我如何将Delphi6中的QuickReport升级到QuickReport3.51 Professional版?
- webbrowser控件的“复制”功能为什么不起作用?
- 如何从(表一)中只读一条记录
- 一个简单的问题,请高手解答,(delphi菜鸟)
- 问一下,ADOQuery.SQL过长对查询速度影响大不大?
- 关于delphi接口 自动生成骨架代码
- 如何给 TcxSpreadSheetBook 不同列设置不同的宽度??
- 我建的一个project打不开了,每次打开时就会导致delphi6关闭,谁能告诉我这是怎么回事?
- 谁有拨号控件或程序(自动拨号和挂断)
这是什么意思呀?
那么怎么设置呀?
我这都可以呀。一点问题没有,可以得到BMP。
你的是d5?
我得qq是5733173,过来聊聊呀
unit UnitMyPreview;interfaceuses
Windows, Messages, SysUtils, Classes,
Graphics, Controls, Forms, Dialogs,
ComCtrls, ToolWin, qrprntr,Quickrpt, //qrhtml
StdCtrls, ExtCtrls,qrextra, Buttons, ImgList;type
TFrmMyPreview = class(TForm)
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
ToolButton10: TToolButton;
ToolButton11: TToolButton;
ToolButton12: TToolButton;
ToolButton13: TToolButton;
ToolButton14: TToolButton;
ToolButton15: TToolButton;
ToolButton16: TToolButton;
ToolButton17: TToolButton;
Panel1: TPanel;
ProgressBar1: TProgressBar;
Panel2: TPanel;
QRPreview1: TQRPreview;
OpenDlg1: TOpenDialog;
SaveDlg1: TSaveDialog;
ImageList1: TImageList;
SpeedButton1: TSpeedButton;
procedure QRPreview1PageAvailable(Sender: TObject; PageNum: Integer);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure ToolButton17Click(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure ToolButton11Click(Sender: TObject);
procedure ToolButton12Click(Sender: TObject);
procedure ToolButton14Click(Sender: TObject);
procedure ToolButton15Click(Sender: TObject);
procedure QRPreview1ProgressUpdate(Sender: TObject; Progress: Integer);
procedure SaveDlg1TypeChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
FPageCount : integer; // 生 成 报 表 的 总 页 数 public
{ Public declarations }
CurRep : TQuickRep; // 所 预 览 的 报 表
procedure UpdatePanelShow;
end;var
FrmMyPreview: TFrmMyPreview;implementation{$R *.DFM}procedure TFrmMyPreview.UpdatePanelShow;
begin // 更 新 显 示
Panel2.Caption :=
' 第 '+inttostr(QRPreview1.PageNumber)+
' 页 总 '+inttostr(FPageCount)+' 页';
end;procedure TFrmMyPreview.QRPreview1PageAvailable(Sender: TObject;
PageNum: Integer);
begin
//get pagecount
FPageCount := PageNum ;
UpdatePanelShow;end;procedure TFrmMyPreview.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
CurRep := nil;
action:=cafree;
end;procedure TFrmMyPreview.ToolButton2Click(Sender: TObject);
begin //ZoomToFit 缩 放 至 全 屏
QRPreview1.ZoomToFit;
end;procedure TFrmMyPreview.ToolButton3Click(Sender: TObject);
begin //ZoomTo100% 缩 放 至 实 际 大 小
QRPreview1.Zoom:=100;
end;procedure TFrmMyPreview.ToolButton4Click(Sender: TObject);
begin //ZoomToWidth 缩 放 至 页 宽
QRPreview1.ZoomToWidth;
end;procedure TFrmMyPreview.ToolButton6Click(Sender: TObject);
begin //First page
QRPreview1.PageNumber := 1;
UpdatePanelShow;
end;procedure TFrmMyPreview.ToolButton17Click(Sender: TObject);
begin//next page
QRPreview1.PageNumber := QRPreview1.PageNumber-1;
if QRPreview1.PageNumber =0 then
QRPreview1.PageNumber:=1;
UpdatePanelShow;
end;procedure TFrmMyPreview.ToolButton7Click(Sender: TObject);
begin
//prior page
QRPreview1.PageNumber := QRPreview1.PageNumber+1;
UpdatePanelShow;
end;procedure TFrmMyPreview.ToolButton8Click(Sender: TObject);
begin //Last page
QRPreview1.PageNumber := FPageCount;
UpdatePanelShow;
end;procedure TFrmMyPreview.SpeedButton1Click(Sender: TObject);
begin
Close;
end;procedure TFrmMyPreview.ToolButton11Click(Sender: TObject);
begin
//print setup
QRPreview1.QRPrinter.PrintSetup;
end;procedure TFrmMyPreview.ToolButton12Click(Sender: TObject);
begin
//print
QRPreview1.QRPrinter.Print;
end;procedure TFrmMyPreview.ToolButton14Click(Sender: TObject);
begin
//save button
if SaveDlg1.Execute then
begin
if (SaveDlg1.FIlterIndex <>1)and(CurRep = nil)then Exit;
case SaveDlg1.FilterINdex of
//--*.QR
1: QRPreview1.QRPrinter.Save(SaveDlg1.FileName);
//--*.TXT
//2: //CurRep.ExportToFilter
//(TQRAsciiExportFilter.Create(SaveDlg1.FileName));
//--*.HTM
//3: //CurRep.ExportToFilter
//(TQRHTMLExportFilter.Create(SaveDlg1.FileName));
//--*.CSV
//4: CurRep.ExportToFilter
//(TQRCSVExportFilter.Create(SaveDlg1.FileName));
end;
end;
end;procedure TFrmMyPreview.ToolButton15Click(Sender: TObject);
begin
//load button
if OpenDlg1.Execute then
QRPreview1.QRPrinter.Load(OpenDlg1.FileName);
end;procedure TFrmMyPreview.QRPreview1ProgressUpdate(Sender: TObject;
Progress: Integer);
begin
//updage progress bar
ProgressBar1.Position := Progress;
if progress=100 then
progressbar1.Position :=0;
end;procedure TFrmMyPreview.SaveDlg1TypeChange(Sender: TObject);
begin
//set DefaultExt property of Savedialog
with SaveDlg1 do
case FilterIndex of
0: DefaultExt := '.QR';
1: DefaultExt := '.TXT';
2: DefaultExt := '.HTM';
3: DefaultExt := '.CSV';
end;
end;procedure TFrmMyPreview.FormCreate(Sender: TObject);
begin
top:=0;
end;end.
procedure TForm1.Button1Click(Sender: TObject);
var meta: tmetafile;
beginmeta:=tmetafile.create;
QuickReport2.Preview;
QuickReport2.prepare;
meta := QuickReport2.QRPrinter.GetPage(1);
image1.Canvas.Draw(0,0,meta);
META.FREEend;