Delphi中的打印控件TQuickRep预览时,怎么做可以让其默认显示为100%(10分)

  • 主题发起人 主题发起人 chenby
  • 开始时间 开始时间
C

chenby

Unregistered / Unconfirmed
GUEST, unregistred user!
Delphi中的打印控件TQuickRep预览时,怎么做可以让其默认显示为100%.
用Zoom属性没有用.
 
用delphi打开 delphi/lib/qrprev.dfm 改他一改
 
请问Pipi:
本人已经改了qrprev.dfm有可能的地方但是没有用,
请问具体改哪一个地方或是否要怎么使它改动有效,要编译吗?
 
你可以试一试,自己做一个预览窗口,代替原有的预览窗口
 
请Pipi.帮帮我!
 
你怕麻烦吗?

首先 uses qrprntr,qrprev;

定义一个类:
type TMyPreviewInterface = class(TQRStandardPreviewInterface)
public
procedure OnPageAvailable(Sender: TObject;pageno:integer);
function Show(AQRPrinter : TQRPrinter) : TWinControl; override;
function ShowModal(AQRPrinter : TQRPrinter): TWinControl; override;
end;


procedure TMyPreviewInterface.OnPageAvailable(Sender: TObject;pageno:integer);
begin
TQrPreView(Sender).Zoom:=100;
end;

function TMyPreviewInterface.Show(AQRPrinter: TQRPrinter): TWinControl;
begin
result:=TQRStandardPreview(inherited Show(AQRPrinter));
TQRStandardPreview(result).Zoom100.Down:=true;
TQRStandardPreview(result).QRPreview.OnPageAvailable:=OnPageAvailable;
end;

function TMyPreviewInterface.ShowModal(
AQRPrinter: TQRPrinter): TWinControl;
begin
result:=TQRStandardPreview(inherited ShowModal(AQRPrinter));
TQRStandardPreview(result).Zoom100.Down:=true;
TQRStandardPreview(result).QRPreview.OnPageAvailable:=OnPageAvailable;
end;


你显示preview,这样:

procedure TForm1.Button1Click(Sender: TObject);
begin
RegisterPreviewClass(TMyPreviewInterface); //这一行要加
QuickRep1.Preview;
end;

 
我这里有原代码,要不要,只需要改动很少的地方,如果需要请mailto:xueminliu@263.net
 
接受答案了.
 
后退
顶部