paintbox 问题 |
尚未結案
|
shihuashi
一般會員 發表:4 回覆:4 積分:1 註冊:2004-06-03 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
shihuashi
一般會員 發表:4 回覆:4 積分:1 註冊:2004-06-03 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
shihuashi
一般會員 發表:4 回覆:4 積分:1 註冊:2004-06-03 發送簡訊給我 |
unit PlanPreview; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, AdvGrid,Printers, Grids, Jpeg,BaseGrid, SnPanel, SnButton; type
TPagePreview = class(TForm)
SnPanel1: TSnPanel;
SnPanel2: TSnPanel;
SnButton1: TSnButton;
PaintBox1: TPaintBox;
PrinterSetupDialog1: TPrinterSetupDialog;
SnButton2: TSnButton;
SnButton3: TSnButton;
ScrollBox1: TScrollBox;
procedure PaintBox1Paint(Sender: TObject);
procedure SnButton1Click(Sender: TObject);
private
asg:TAdvStringGrid;
{ Private declarations }
public
constructor Create(AOwner:TComponent; AStringGrid:TAdvStringGrid); { Public declarations }
end; var
PagePreview: TPagePreview; implementation {$R *.dfm}
//asg是传递过来的参数
constructor TPagePreview.Create(AOwner:TComponent; AStringGrid,:TAdvStringGrid);
begin
inherited Create(AOwner);
asg := AStringGrid;
end; procedure TPagePreview.PaintBox1Paint(Sender: TObject);
begin
asg.PrintPreview(PaintBox1.Canvas,PaintBox1.ClientRect);
end; //打印的代码
procedure TPagePreview.SnButton1Click(Sender: TObject);
var
r:trect;
quarterpage:trect;
begin
printersetupdialog1.execute;
with Printer do
begin
BeginDoc;
r:=canvas.cliprect;
quarterpage:=rect(0,0,(r.right-r.left) shr 1,(r.bottom-r.top) shr 1); setmapmode(canvas.handle,mm_lometric);
dptolp(canvas.handle,r,2); asg.PrintDraw(canvas,quarterpage); EndDoc;
end;
end; end. 这是我的源码,我做的一个TAdvStringGrid通用的打印窗口
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |