Schriftgröße der Feldgöße anpassen

Hier finden Sie spezielle Druckvorlagen zu TaxMetall (bitte auf Versionskennzeichnung achten!)
Antworten
a.mann
Beiträge: 16
Registriert: 16.12.2021, 09:21:31

Schriftgröße der Feldgöße anpassen

Beitrag von a.mann »

Ich hatte insbesondere bei Etiketten Probleme den Textinhalt so in die Felder einzupassen, dass sich ein unabgeschnittener Test ergibt auch bei langen Artikelnummern oder Multiline-Texten.

:idea: In ein OnBeforeData-Ereignis des Labels habe ich folgendes eingefügt um das Problem zu beheben.

:arrow: Achtung: Wird in der while-Schleife ein Label Bezeichner vergessen oder falsch eingetippt, schickt man Taxmetall u.U. in eine Endlosschleife beim Druck oder der Vorschau.

Code: Alles auswählen

procedure *LabelName*OnAfterData(Sender: TfrxComponent);
begin
     *LabelName*.Font.Size := 9; //Gibt die Standardschriftgröße an
     while *LabelName*.CalcWidth > *LabelName*.width do *LabelName*.Font.Size := *LabelName*.Font.Size-1; //Verkleinert solange um eine Schriftgröße bis die Textlänge kleiner ist als die Feldlänge
 //  while *LabelName*.CalcHeight > *LabelName*.height do *LabelName*.Font.Size := *LabelName*.Size-1; //Verkleinert solange um eine Schriftgröße bis die Texthöhe kleiner ist als die Feldhöhe - macht nur bei Multilinetext Sinn
end;
Vllt. kann das nochjemand brauchen.
Antworten