Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#1

Bounding rectangle eines fromatierten RTF-Textes ermitteln.

  Alt 2. Sep 2005, 08:05
Seit gestern versuche ich das.
Gegeben sei ein RTF-Text sowie ein imaginäres TRichEdit mit einer definierten Breite. Dahinein plaziere ich den RTF-formatierten Text. Ich benötige die Höhe des formatierten Textes. Das geht bei einem nicht imaginären TRichEdit über den Aufruf
Delphi-Quellcode:
Var
  P : TPoint;
Begin
  reContainer.Perform (EM_POSFROMCHAR,LongInt (@P), 32767)
 ...
In P.Y steht dann die Höhe des Texts (wenn dieser mit einer Leerzeile abschliesst).
Super, das will ich jetzt OHNE ein TRichEdit realisieren. Wenn ich mir einfach eine Instanz erstelle (Parent = Nil), wird sofort die Notbremse (Exception) beim Setzen der Lines-Eigenschaft gezogen.

Weiss jemand wie ich das sonst hinbekomme, oder mir ein TRichEdit mit einem Parent bastle, ohne Bezug zu einem Formular nehmen zu müssen?

Ich möchte sozusagen eine Funktion implementieren:
Function RTF_GetFormatedTextRect (Const aText : String; aCanvasRect : TRect) : TRect; Sie liefert dann den Umriss des formatierten Texts in Pixeln.

Danke für die Mühe

[edit]EM_GETRECT in EM_POSFROMCHAR geändert[/edit]
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat