wenn ich zuerst mit Druchdaten etwas text drucke und dann in der nächsten Prozedur mit stretchdraw etwas zeichnen will, so erscheint nur der Text auf dem Papier - lass ich "druckdaten" weg klappt es tadellos - woran kann das liegen?
procedure DruckDaten;
var
i,h,a,sh:integer;
SchriftName:TFontName;
SchriftHoehe:double;
x:integer;
y:integer;
begin
SchriftName := 'Arial';
SchriftHoehe := 4.5;
x := 25;
y := 8;
with printer do begin
h:=-round(pageheight / 2.54);
x:=x*10-round(getdevicecaps(handle,physicaloffsetx) / 2.54);
y:=-y*10+round(getdevicecaps(handle,physicaloffsety) / 2.54);
title:='Text in mm';
canvas.Brush.Color:=clWhite;
canvas.textout(0,0,' ');
SetMapMode(canvas.handle,MM_LOMETRIC);
sh:=round(schrifthoehe*10);
canvas.font.height:=sh;
canvas.font.name:=schriftname;
a:=0;
for i:=0 to datenfeld.count-1 do begin
canvas.textout(x,y-sh*a,datenfeld[i]);
inc(a);
if (y-sh*a) < h then begin
if a <= datenfeld.count then newpage;
a:=0;
end;
end;
end;
end;
procedure DruckDaten;
var
i,h,a,sh:integer;
SchriftName:TFontName;
SchriftHoehe:double;
x:integer;
y:integer;
begin
SchriftName := 'Arial';
SchriftHoehe := 4.5;
x := 25;
y := 8;
with printer do begin
h:=-round(pageheight / 2.54);
x:=x*10-round(getdevicecaps(handle,physicaloffsetx) / 2.54);
y:=-y*10+round(getdevicecaps(handle,physicaloffsety) / 2.54);
title:='Text in mm';
canvas.Brush.Color:=clWhite;
canvas.textout(0,0,' ');
SetMapMode(canvas.handle,MM_LOMETRIC);
sh:=round(schrifthoehe*10);
canvas.font.height:=sh;
canvas.font.name:=schriftname;
a:=0;
for i:=0 to datenfeld.count-1 do begin
canvas.textout(x,y-sh*a,datenfeld[i]);
inc(a);
if (y-sh*a) < h then begin
if a <= datenfeld.count then newpage;
a:=0;
end;
end;
end;
end;
Comment