Das sollte funktionieren:
Delphi-Quellcode:
procedure TForm3.Memo1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var
SelStart: Integer;
TempStr: PChar;
begin
if Key = VK_RETURN then
begin
TempStr := '
</p>';
SendMessage(Memo1.Handle, EM_GETSEL, Longint(@SelStart), 0);
SendMessage(Memo1.Handle, EM_REPLACESEL, 0, LongInt(TempStr));
SendMessage(Memo1.Handle, EM_SETSEL, SelStart+3, SelStart+3);
Key := 0; // wichtig !
end;
end;
Wichtig ist dabei den Key auf 0 zu setzen, da er sonst weiter behandelt wird! Das +3 steht für die dritte Position im einzufügenden Text.
Grüße
Michael