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