![]() |
Canvas und TLabel.
Hallo Jungs, also ich habe eine TLabel.
Sie erhält folgenden Wert:
Delphi-Quellcode:
Ich würde jetzt aber gerne, dass z.B. "hallo" fettgedruckt gezeigt wird und "tschüss" normal.
label1.Caption := ' hallo' + #13#10 + 'tschüss';
Und entsprechen auch für das Drucken. Die Zeilenumbrüche erkennt ja Canvas so nicht an, also drucke ich es wie folgt aus. Mit Erfolg.
Delphi-Quellcode:
Wie kann ich da auch einzelne Wörter oder Sätze formatieren?
tmp_row := Label1.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; Danke im voraus :-D |
Re: Canvas und TLabel.
Du kannst ja den Font des Canvas vor jeder Textausgabe anpassen.
Zum Beispiel: (Text wird dann Fett gedruckt und unterstrichen ausgegeben)
Code:
Dein Ansatz ist aber leider generell nicht sehr flexibel. Im Prinzip müßtest Du die Steuerinformationen, wie die einzelnen Textpassagen auszugeben sind, in den Text mit reincodieren. Falls Du das aber immer genau so ausgeben willst kannst du das sicherlich auch so machen.
...
Printer.Canvas.Font.Style := [fsUnderline, fsBold]; Printer.Canvas.TextOut(TextPartPosX, TextPartPosY, TextPart); ... |
Re: Canvas und TLabel.
Falls Du bloß eine einzeilige Anzeige suchst, hier gibt es eine Label-Komponente, die HTML versteht (ist aber Teil eines größeren Packages):
![]() (oberster eintrag "htmllabel" Grüße, Hans |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:19 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