![]() |
Label audrucken, mit Zeilenumbruch.
Hallo,
ich möchtege gern ein Label mit Zeilenumbruch ausdrucken. Das Problem ist, dass Canvas '#13#10' ignoriert, das heißt die Werte werden hintereinander bis über das Blatt hinaus ausgedruckt. Weiß jemand wie man das lösen könnte? |
Re: Label audrucken, mit Zeilenumbruch.
Label Eigenschaftn WordWrap?
Bin mir nicht sicher ob du das meinst. |
Re: Label audrucken, mit Zeilenumbruch.
hoi,
einfach mal so als denkanstoss vllt. (keine garantie des es funzt)
Delphi-Quellcode:
cya
var
x,y,font_heigth,position : Integer ; tmp_row,part : String ; begin x := 200 ; y := 200 ; font_heigth := Abs(Dein_Label.Font.Height) * Dein_Label.Font.Size ; Printer.BeginDoc; tmp_row := Dein_Label.Caption ; if (Pos(#13#10,tmp_row) > 0) then begin repeat position := Pos(#13#10,tmp_row); if (position > 0) then part := Copy(tmp_row,1,position-1) else part := tmp_row ; Printer.Canvas.TextOut(x,y,part); Delete(tmp_row,1,position+1); y := y + font_heigth ; until position <= 0; end else begin Printer.Canvas.TextOut(x,y,tmp_row); end; Printer.EndDoc; end; |
Re: Label audrucken, mit Zeilenumbruch.
Oder mit DrawText auf den PrinterCanvas zeichnen (inkl. DT_WORDBREAK).
|
Re: Label audrucken, mit Zeilenumbruch.
Super Prima code, respekt :-D :thumb: :thumb: .
Kann ich einzelne Labels ein Style zuweisen? Bold onder Italic? |
Re: Label audrucken, mit Zeilenumbruch.
Schau Dir mal die Font-Property von TLabel an.
|
Re: Label audrucken, mit Zeilenumbruch.
Äh... Sorry ich meinte wie kann ich einzelne Labels Fett ausdrucken?
|
Re: Label audrucken, mit Zeilenumbruch.
Dazu musst Du den Font des Printer.Canvas ändern.
|
Re: Label audrucken, mit Zeilenumbruch.
Ja das weiß ich, aber wenn ich das machen, dann wird alles Fett gedruckt und nicht z.B. nur die Überschrift.
So ging es bei nicht:
Delphi-Quellcode:
Label1.Canvas.Font.Style := [bsbold]
|
Re: Label audrucken, mit Zeilenumbruch.
Delphi-Quellcode:
So in der Art.
Printer.BeginDoc;
Printer.Canvas.Font.Style := [fsBold]; Printer.Canvas.TextOut(100,100,'Fett'); Printer.Canvas.Font.Style := []; Printer.Canvas.TextOut(100,200,'Nicht fett'); Printer.EndDoc; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz