Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Länge einer formatierten RTF-Zeile herausfinden (https://www.delphipraxis.net/81654-laenge-einer-formatierten-rtf-zeile-herausfinden.html)

Kostas 30. Nov 2006 21:05


Länge einer formatierten RTF-Zeile herausfinden
 
Hallo Zusammen,

über die Procedure FormatRTFAdress füge ich in ein TRichEdit zwei Texte in einer Zeile hinzu, und
formatiere sie so gleich per rtf.
Das sieht etwa so aus:
Firma: Meine Firma
Strasse: Meine Strasse
Ort: Mein ort

Jetzt möchte ich gerne herausfinden wie breit muß mein TRichEdit sein damit der Text nicht umgebrochen wird.

Es gibt ein Ereignis OnResizeRequest, doch leider wird NUR die höhe von RichEdit ermittelt
nicht die Breite.

Hat jemand eine Idee?
Gruß Kostas

Delphi-Quellcode:
procedure TfrEdit.reRTFResizeRequest(Sender: TObject; Rect: TRect);
begin
  (Sender as TRichEdit).BoundsRect := Rect;
end;
Delphi-Quellcode:
{-------------------------------------------------------------------------}
{}procedure TfrEdit.FormatRTFAdress(RichEdit:TRichEdit; ident,value:String);
{-------------------------------------------------------------------------}
 var
  aParaFormat: TParaformat2;
begin
  FillChar(aParaFormat, SizeOf(aParaFormat), 0);
  aParaFormat.cbSize := SizeOf(aParaFormat);
  with RichEdit do
  begin

    SelAttributes.Name :='Courier New';
    SelAttributes.Color := clGreen;
    SelAttributes.Size := 8;
    SelAttributes.Style:=[fsBold];
    SelText := ident;

    SelAttributes.Name :='Arial';
    SelAttributes.Color := clblack;
    SelAttributes.Size := 8;
    SelAttributes.Style:= [];
    SelText := value +#13#10;

    Perform(EM_SETPARAFORMAT, 0, lParam(@aParaFormat));
  end;{with}


end;{FormatRTFAdress}

marabu 1. Dez 2006 06:32

Re: Länge einer formatierten RTF-Zeile herausfinden
 
Guten Morgen,

vielleicht kannst du diesem thread ein paar Hinweise entnehmen: bounding rectangle eines formatierten rtftextes ermitteln

Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz