Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Label audrucken, mit Zeilenumbruch. (https://www.delphipraxis.net/125716-label-audrucken-mit-zeilenumbruch.html)

thiagojonas 10. Dez 2008 11:18


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?

Frankfurtoder 10. Dez 2008 11:58

Re: Label audrucken, mit Zeilenumbruch.
 
Label Eigenschaftn WordWrap?
Bin mir nicht sicher ob du das meinst.

soulies 10. Dez 2008 12:18

Re: Label audrucken, mit Zeilenumbruch.
 
hoi,

einfach mal so als denkanstoss vllt. (keine garantie des es funzt)

Delphi-Quellcode:
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;
cya

DeddyH 10. Dez 2008 12:20

Re: Label audrucken, mit Zeilenumbruch.
 
Oder mit DrawText auf den PrinterCanvas zeichnen (inkl. DT_WORDBREAK).

thiagojonas 10. Dez 2008 14:44

Re: Label audrucken, mit Zeilenumbruch.
 
Super Prima code, respekt :-D :thumb: :thumb: .
Kann ich einzelne Labels ein Style zuweisen? Bold onder Italic?

DeddyH 10. Dez 2008 14:49

Re: Label audrucken, mit Zeilenumbruch.
 
Schau Dir mal die Font-Property von TLabel an.

thiagojonas 10. Dez 2008 14:53

Re: Label audrucken, mit Zeilenumbruch.
 
Äh... Sorry ich meinte wie kann ich einzelne Labels Fett ausdrucken?

DeddyH 10. Dez 2008 14:55

Re: Label audrucken, mit Zeilenumbruch.
 
Dazu musst Du den Font des Printer.Canvas ändern.

thiagojonas 10. Dez 2008 15:01

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]

DeddyH 10. Dez 2008 15:04

Re: Label audrucken, mit Zeilenumbruch.
 
Delphi-Quellcode:
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;
So in der Art.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:32 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz