Einzelnen Beitrag anzeigen

Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

Re: tWebrowser Text schreiben - löschen

  Alt 27. Jun 2006, 06:26
Hi hibbert!

Hier ein kleiner Ausschnitt aus einem Programm, wo ich den Webbrowser im EditMode als Editor nutze.
Delphi-Quellcode:
procedure Tform_ITEditor.tbtn_HRClick(Sender: TObject);
var
  Line : IHTMLHRElement;
  SelObject : IHTMLControlRange;
  SelText : IHTMLTxtRange;
  Node : IHTMLDOMNode;
begin
  Line:=Fdoc.createElement('hr') as IHTMLHRElement; //FDoc:=WebBrowser1.Document as IHTMLDocument2;
  //Jetzt müssen wir erstmal die Stelle bestimmten, wo wir mit dem Cursor stehen
  if (FDoc.selection.type_='Control') then //aktuelle Auswahl ist ein Control
  begin
    SelObject:=FDoc.Selection.createRange as IHTMLControlRange;
    Node:=SelObject.item(0) as IHTMLDOMNode; // ... und daraus einen Knoten machen
  end
  else //aktuelle Auswahl ist ein Stück Text oder nichts
  begin
    SelText:=FDoc.Selection.createRange as IHTMLTxtRange;
    if SelText.parentElement=nil then //Es gibt keine Auswahl ...
      Node:=FDoc.Body as IHTMLDOMNode //.. also fügen wir es in den Body ein
    else
      Node:=SelText.ParentElement as IHTMLDomNode;
  end;

  Node.appendChild(Line as IHTMLDomNode);

end;

Dieser Code fügt eine horizontale Linie ein. Entscheidend ist die letzte Anweisung, die ein IHTMLDomNode zurückliefert. Wenn du du dir diesen Knoten "merkst" (Variable) kannst du ihn nachher ganz einfach wieder löschen. (Node.parent.removeChild ...)
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat