Schriftgröße der Feldgöße anpassen
Verfasst: 03.02.2022, 19:09:54
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.
In ein OnBeforeData-Ereignis des Labels habe ich folgendes eingefügt um das Problem zu beheben.
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.
Vllt. kann das nochjemand brauchen.
In ein OnBeforeData-Ereignis des Labels habe ich folgendes eingefügt um das Problem zu beheben.
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;