Entwickler-Ecke

Sonstiges (Delphi) - label drucken


CitnAmor - So 26.01.03 15:59
Titel: label drucken
ich habe mehrere label auf der form und möchte diese nun ausdrucken...
ich habe schon mehrere sachen probiert, aber defr drucker zieht immer nur das blatt ein und schmeist es wieder raus... könnte jemand evtl nen quelltext posten wie ma zb ein label an einer gewüchten positoon druckt?!? big thx ...18a citn


BungeeBug - So 26.01.03 18:39

hi ...

wenn du mal deinen Code posten würdest wär das bestimmt hilftreich um den Fehler zufinden ...

MfG BungeeBug


CitnAmor - So 26.01.03 18:46


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
Procedure PrintCanvas(c:TCanvas;lft,tp,wid,hei:integer);
var
b:TBitmap;
 r:TRect;
 begin
  b:=TBitmap.create;
b.Width:=wid;
 b.Height:=hei;
  b.PixelFormat:=pf24Bit;
BitBlt(b.Canvas.Handle,0,0,wid,hei,c.Handle,0,0,SRCCOPY);
 Printer.Title:='test';
 Printer.BeginDoc;
 r:=bounds(0,0,b.Width,b.Height);
 Printer.Canvas.CopyRect(r,b.Canvas,r);
 Printer.EndDoc;
 b.free;
 end;

procedure TForm1.Button1Click(Sender: TObject);
begin
PrintCanvas(label1.Canvas,0,0,label1.Width,label1.Height);
end;


Moderiert von user profile iconTino: Code-Tags hinzugefügt.


GruppeCN - Mo 27.01.03 18:57

Warum kopierst du nicht einfach mittels einer Procedure den Text in ein RichEdit und druckst das alles aus??
Etwa so:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure printlabel(caption: String);
begin
Form1.RichEdit1.Text := caption;
begin
try 
Form1.RichEdit1.Print(Form1.RichEdit1.Text);
except
ShowMessage('Fehler');
end;
end;
end;


Dann der Code zum Aufrufen:


Quelltext
1:
printlabel(Label1.Caption);                    


Über die Eigenschaft Font von RichEdit1 kannst du dann bequeme das Schriftbild anpassen.


CitnAmor - Mo 27.01.03 23:01

thx... mein prob is nur dass ich mehrere label ausdrucken muss, wenn ich jetzt

Quelltext
1:
2:
3:
4:
5:
procedure TForm1.FormCreate(Sender: TObject);
begin
printlabel(Label1.Caption);
printlabel(Label2.Caption);
end;

eingebe dann druckt er beide label auf verschiedene blätter.
also ich habe halt verschiedene label auf dem blatt angeördnet, die label haben auch unterschiedliche eingenschaften(farbe, größe)
die muss ich halt ausdrucken...
ich kenn mich mit rich text jetzt nicht so aus..deswegen habe ich versucht die label auif nen image zu kopieren.