Drucken mit automatischem Textumbruch ?

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
malabarista
Beiträge: 321
Registriert: Sa 11. Jun 2016, 12:16
OS, Lazarus, FPC: Linux Mint 18.1 L1.6.2-1 FPC 3.0.0
CPU-Target: 64Bit
Wohnort: Konstanz

Drucken mit automatischem Textumbruch ?

Beitrag von malabarista »

Ich möchte mit Lazarus drucken. Und zwar einen Fließtext. D.h. wenn die Zeile für den Ausdruck zu lang ist, soll sie automatisch umgebrochen werden.

Deshalb meine Frage: gibt es eine Möglich in Lazarus den Text beim Drucken automatisch umzubrechen ?

Oder muss ich mir da selbst etwas überlegen ?

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: Drucken mit automatischem Textumbruch ?

Beitrag von theo »

Mit TextRect müsste es in einfachen Fällen automatisch gehen.
Hier ein Beispiel für Form Canvas. Musst du nat. auf Printer anwenden.

Code: Alles auswählen

procedure TForm1.FormPaint(Sender: TObject);
var Str:String;
  Styl:TTextStyle;
begin
  Str:='Ich möchte mit Lazarus drucken. Und zwar einen Fließtext. D.h. wenn die Zeile für den Ausdruck zu lang ist, soll sie automatisch umgebrochen werden.';
  FillChar(Styl, sizeof(Styl), 0);
  Styl.Wordbreak:=true;
  Canvas.TextRect(Rect(0,0,Width,Height),10,10,Str,Styl);
end

malabarista
Beiträge: 321
Registriert: Sa 11. Jun 2016, 12:16
OS, Lazarus, FPC: Linux Mint 18.1 L1.6.2-1 FPC 3.0.0
CPU-Target: 64Bit
Wohnort: Konstanz

Re: Drucken mit automatischem Textumbruch ?

Beitrag von malabarista »

Dies ist eine sehr schöne Idee. Danke !

Antworten