Доброго времени суток. Помогите плиз. Я пытаюсь распечатать содержимое канваса ,но на печать выводится чистый листок.Если попытаться при помощи
CopyRect засунуть сод. bitmap.canvas в image там всё отображается правильно. Ниже приведён код того как я пытаюсь воспроизвести задуманное. Заранее спасибо.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,Printers, ExtCtrls;
type
TForm1 = class(TForm)
vidnegab: TEdit;
Memo1: TMemo;
Memo2: TMemo;
Memo3: TMemo;
Memo4: TMemo;
Memo5: TMemo;
Memo6: TMemo;
table11: TMemo;
table21: TMemo;
table31: TMemo;
table41: TMemo;
table51: TMemo;
table61: TMemo;
table12: TMemo;
table22: TMemo;
table32: TMemo;
table42: TMemo;
table52: TMemo;
table62: TMemo;
table13: TMemo;
table23: TMemo;
table33: TMemo;
table43: TMemo;
table53: TMemo;
table63: TMemo;
table14: TMemo;
table24: TMemo;
table34: TMemo;
table44: TMemo;
table54: TMemo;
table64: TMemo;
table15: TMemo;
table25: TMemo;
table35: TMemo;
table45: TMemo;
table55: TMemo;
table65: TMemo;
table16: TMemo;
table26: TMemo;
table36: TMemo;
table46: TMemo;
table56: TMemo;
table66: TMemo;
rodvag: TEdit;
grvag: TEdit;
stotpr: TEdit;
nameotpr: TEdit;
namepoluch: TEdit;
nameplat: TEdit;
raschn: TEdit;
schotpr: TEdit;
vi: TEdit;
uchbgor: TEdit;
kuzov: TEdit;
normazagr: TEdit;
grpoz: TEdit;
shema: TEdit;
iskltarnom: TEdit;
vidotpr: TEdit;
vagpod: TEdit;
raschplat: TEdit;
itogomest: TEdit;
itogomassa: TEdit;
opredmass: TEdit;
otvechayu: TEdit;
nomvag: TEdit;
kolos: TEdit;
stnazn: TEdit;
mailotp: TEdit;
mailpoluch: TEdit;
Button1: TButton;
Button2: TButton;
PrintDialog1: TPrintDialog;
Label29: TLabel;
speed: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
BitMap:TBitMap;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
Canvas :TCanvas ;
print:Tprinter;
w,h:integer;
begin
w:=0;
h:=0;
Canvas:=TCanvas.Create;
BitMap:= TBitMap.Create;
bitmap.Canvas.Font.Color:=clblack;
bitmap.canvas.Font.Style:=[fsBold];
bitmap.canvas.Font.Size:=10;
BitMap.Width :=796;
BitMap.Height:=1123;
bitmap.Canvas.brush.Color :=clwhite;
bitmap.Monochrome :=true;
bitmap.Canvas.FillRect(rect(0,0,796,1123));
bitmap.Canvas.TextOut(705+w,466+h,grpoz.text);
bitmap.Canvas.TextOut(235+w,197+h,grvag.text);
bitmap.Canvas.TextOut(629+w,481+h,iskltarnom.text);
bitmap.Canvas.TextOut(190+w,732+h,itogomassa.text);
bitmap.Canvas.TextOut(190+w,703+h,itogomest.text);
bitmap.Canvas.TextOut(311+w,201+h,kolos.text);
bitmap.Canvas.TextOut(227+w,436+h,kuzov.text);
bitmap.Canvas.TextOut(190+w,330+h,mailotp.text);
bitmap.Canvas.TextOut(550+w,349+h,mailpoluch.text);
bitmap.Canvas.TextOut(190+w,277+h,nameotpr.text);
bitmap.Canvas.TextOut(190+w,364+h,nameplat.text);
bitmap.Canvas.TextOut(550+w,277+h,namepoluch.text);
bitmap.Canvas.TextOut(155+w,201+h,nomvag.text);
bitmap.Canvas.TextOut(349+w,462+h,normazagr.text);
bitmap.Canvas.TextOut(227+w,823+h,opredmass.text);
bitmap.Canvas.TextOut(413+w,932+h,otvechayu.text);
bitmap.Canvas.TextOut(595+w,553+h,raschplat.text);
bitmap.Canvas.TextOut(356+w,390+h,raschn.Text);
bitmap.Canvas.TextOut(114+w,201+h,rodvag.text);
bitmap.Canvas.TextOut(671+w,390+h,schotpr.text);
bitmap.Canvas.TextOut(504+w,483+h,shema.text);
bitmap.Canvas.TextOut(436+w,182+h,speed.text);
bitmap.Canvas.TextOut(531+w,235+h,stnazn.text);
bitmap.Canvas.TextOut(190+w,235+h,stotpr.text);
bitmap.Canvas.TextOut(114+w,531+h,table11.text);
bitmap.Canvas.TextOut(114+w,550+h,table12.text);
bitmap.Canvas.TextOut(114+w,569+h,table13.text);
bitmap.Canvas.TextOut(114+w,588+h,table14.text);
bitmap.Canvas.TextOut(114+w,606+h,table15.text);
bitmap.Canvas.TextOut(114+w,625+h,table16.text);
bitmap.Canvas.TextOut(155+w,531+h,table21.text);
bitmap.Canvas.TextOut(155+w,550+h,table22.text);
bitmap.Canvas.TextOut(155+w,569+h,table23.text);
bitmap.Canvas.TextOut(155+w,588+h,table24.text);
bitmap.Canvas.TextOut(155+w,606+h,table25.text);
bitmap.Canvas.TextOut(155+w,625+h,table26.text);
bitmap.Canvas.TextOut(193+w,531+h,table31.text);
bitmap.Canvas.TextOut(193+w,550+h,table32.text);
bitmap.Canvas.TextOut(193+w,569+h,table33.text);
bitmap.Canvas.TextOut(193+w,588+h,table34.text);
bitmap.Canvas.TextOut(193+w,606+h,table35.text);
bitmap.Canvas.TextOut(193+w,625+h,table36.text);
bitmap.Canvas.TextOut(231+w,531+h,table41.text);
bitmap.Canvas.TextOut(231+w,550+h,table42.text);
bitmap.Canvas.TextOut(231+w,569+h,table43.text);
bitmap.Canvas.TextOut(231+w,588+h,table44.text);
bitmap.Canvas.TextOut(231+w,606+h,table45.text);
bitmap.Canvas.TextOut(231+w,625+h,table46.text);
bitmap.Canvas.TextOut(347+w,531+h,table51.text);
bitmap.Canvas.TextOut(347+w,550+h,table52.text);
bitmap.Canvas.TextOut(347+w,569+h,table53.text);
bitmap.Canvas.TextOut(347+w,588+h,table54.text);
bitmap.Canvas.TextOut(347+w,606+h,table55.text);
bitmap.Canvas.TextOut(347+w,625+h,table56.text);
bitmap.Canvas.TextOut(404+w,531+h,table61.text);
bitmap.Canvas.TextOut(404+w,550+h,table62.text);
bitmap.Canvas.TextOut(404+w,569+h,table63.text);
bitmap.Canvas.TextOut(404+w,588+h,table64.text);
bitmap.Canvas.TextOut(404+w,606+h,table65.text);
bitmap.Canvas.TextOut(404+w,625+h,table66.text);
bitmap.Canvas.TextOut(481+w,407+h,uchbgor.text);
bitmap.Canvas.TextOut(682+w,515+h,vagpod.text);
bitmap.Canvas.TextOut(125+w,409+h,vi.text);
bitmap.Canvas.TextOut(307+w,174+h,vidnegab.text);
bitmap.Canvas.TextOut(644+w,500+h,vidotpr.text);
bitmap.SaveToFile('screens1.bmp');
Canvas.CopyRect(rect(0,0,796,1123),bitmap.Canvas,rect(0,0,796,1123));
if PrintDialog1.Execute then
begin
printer.BeginDoc;
printer.Canvas.CopyRect(rect(0,0,796,1123),bitmap.Canvas,rect(0,0,796,1123));
printer.EndDoc ;
end;
end;