Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Bounding rectangle eines fromatierten RTF-Textes ermitte

  Alt 2. Sep 2005, 09:23
Hi alzaimar,

Zitat von alzaimar:
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_GETRECT,Integer (@P), 32767)
 ...
Müsste der Aufruf, damit er keine Speicherverletzung produziert, nicht so aussehen?

Delphi-Quellcode:
var
  r: TRect;
begin
  re.Perform(EM_GETRECT, 0, Integer(@r));
end;
Geliefert wird da aber das formatting rectangle - und das ist laut PSDK identisch zur client area vom richedit, wenn du es nicht änderst.

Zitat von alzaimar:
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.
Du musst dein control als message-only-window erzeugen:

Delphi-Quellcode:
var
  re: TRichEdit;
begin
  re := TRichEdit.CreateParented(HWND(-3));
end;
Bis zu deiner Funktion RTF_GetFormattedTextRect() bist du dann aber immernoch ein Stück unterwegs...

Grüße vom marabu
  Mit Zitat antworten Zitat