Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Eigene Tags zum HTML Editor hinzufügen (MSHTML) (https://www.delphipraxis.net/159158-eigene-tags-zum-html-editor-hinzufuegen-mshtml.html)

CyberMuth 16. Mär 2011 15:40

Eigene Tags zum HTML Editor hinzufügen (MSHTML)
 
Hallo,
mit Hilfe der MSHTML Libary für Delphi-Applikationen ist es möglich den TWebbrowser zu editieren und ihn als HTML Dokument zu speichern. Siehe auch http://www.dataweb.de/de/support/art...ml/mshtml.html
Das funktioniert auch soweit.
Nun möchte ich eigene Tags zum Webbrowser an der aktuellen Cursorposition hinzufügen.
Bisher fügt er das Element immer ans Ende des Webbrowser und nicht an die Cursorposition.
Der Code sieht wie folgt aus:
Delphi-Quellcode:
procedure TFrm_HTMLEditorDlg.ToolButton2Click(Sender: TObject);
var
  Element: IHTMLElement;
begin
  Element := HTMLDocument2Ifc.createElement('div');
  Element.setAttribute('align', 'left', 0);
  Element.innerText := 'Das ist mein Text';
 
 (HTMLDocument2Ifc.activeElement as IHTMLDOMNode).appendChild(Element as IHTMLDOMNode);
end;
Die Funktion wird aufgerufen, wenn man sich im Editiermodus befindet.

Weiß von euch vielleicht jemand, wie man den Tag mit Inhalt an die Stelle des Cursors bekommt?
Wenn ihr noch mehr Code oder Infos braucht einfach bescheid sagen.

CyberMuth 21. Mär 2011 12:44

AW: Eigene Tags zum HTML Editor hinzufügen (MSHTML)
 
Hey, kann keiner eine Idee?

Neutral General 21. Mär 2011 12:47

AW: Eigene Tags zum HTML Editor hinzufügen (MSHTML)
 
Hallo,

Das HTML-Dokument hat eine Methode "insertBefore". Mit dieser sollte man Tags auch irgendwo mittendrin einfügen können ;)

Gruß
Neutral General

CyberMuth 22. Mär 2011 09:03

AW: Eigene Tags zum HTML Editor hinzufügen (MSHTML)
 
Hallo,
die Methode insertBefore hat den Parameter IHTMLDOMNode **node.
Node ist die Adresse eines Zeigers, der einen Verweis zurück auf das Element gibt, in das das Dokument eingefügt werden soll.

Wie bekomme ich die Adresse des Zeigers, wo sich der Cursor im WebBrowser befindet?

Es wäre wirklich super, wenn ihr mir weiterhelfen könntet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz