Einzelnen Beitrag anzeigen

Kostas

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

AW: TWebBrowser und Enter-Taste Leerzeile vermeiden

  Alt 15. Dez 2022, 14:08
So scheint es halbwegs zu funktionieren.
Wenn ich jedoch am Textende bin und auf Enter klicke wird das Control manchmal verlassen.
Das Control wird überhaupt verlassen wenn mit den Pfeiltasten oben, unten das Ende oder Anfang erreicht ist.

Man merkt das dieses Control ein Fremdkörper ist, es verhält sich einfach anders. So ein Mist.

Delphi-Quellcode:
procedure TfrmHTMLEdit.HTMLEditorOnKeyDown(Sender: TObject;
  EventObjIfc: IHTMLEventObj);
var
  selectionRange: IHtmlTxtRange;
  htmlDoc: IHTMLDocument2;
begin
  if not Assigned(HtmlEditor.Document) then
    Exit;

  htmlDoc := htmlEditor.Document as IHTMLDocument2;

  if htmlDoc.parentWindow.event.keyCode = VK_RETURN then
  begin
    selectionRange := htmlDoc.selection.createRange as IHtmlTxtRange;
    selectionRange.pasteHTML('<br>');
    htmlDoc.parentWindow.event.returnValue := False;
    htmlDoc.parentWindow.event.keyCode := 0;

    Keybd_Event(VK_DOWN,0,0,0); //Taste drücken
    Keybd_Event(VK_DOWN,0,KEYEVENTF_KEYUP,0); //Taste loslassen

  end;
end;
  Mit Zitat antworten Zitat