Einzelnen Beitrag anzeigen

Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.062 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Länge einer formatierten RTF-Zeile herausfinden

  Alt 30. Nov 2006, 21:05
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}
  Mit Zitat antworten Zitat