Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
Delphi 10.4 Sydney
|
AW: QuoteText parsen?
12. Nov 2014, 14:18
Wollte jetzt noch Blocksatz einbauen. Mach ich da was falsch? Der Unterschied zu rechtsbündig ist ziemlich groß?
Delphi-Quellcode:
procedure TBBCItem.JustifiedTextOut(Canvas: TCanvas; MMX, MMY, ppMM: double); // Blocksatz;
var
TextMMWidth, DeltaMMX: double;
I: integer;
SL: TStringList;
begin
SL := TStringList.Create;
try
TextMMWidth := Canvas.TextWidth(Text) / ppMM;
SplitString(Text, SL);
if SL.Count > 1 then
DeltaMMX := Max((GetTextAlign.MMWidth - TextMMWidth) / (SL.Count - 1), 0)
else
DeltaMMX := 0;
for I := 0 to SL.Count - 1 do
begin
Canvas.TextOut(Round(MMX * ppMM), Round(MMY * ppMM), SL[I]);
MMX := MMX + Canvas.TextWidth(SL[I]) / ppMM + DeltaMMX;
end;
finally
SL.Free;
end;
end;
|
|
Zitat
|