Einzelnen Beitrag anzeigen

Benutzerbild von chaosben
chaosben

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

Re: tWebrowser Text schreiben - löschen

  Alt 27. Jun 2006, 18:59
Aus dem Kopf würde ich es so machen:

Delphi-Quellcode:
procedure Tform_ITEditor.tbtn_HRClick(Sender: TObject);
var
  Div: IHTMLDivElement;
  SelObject : IHTMLControlRange;
  SelText : IHTMLTxtRange;
  Node : IHTMLDOMNode;
begin
  Div:=Fdoc.createElement('div') as IHTMLHRElement; //FDoc:=WebBrowser1.Document as IHTMLDocument2;
  //hier dem Div noch ein wenig inhalt geben

  //Das folgenden ist nur im Edit-Mode nötig (ansonsten: Node:=FDoc.Body as IHTMLDOMNode )
  //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(Div as IHTMLDomNode);

end;
Ach ja, div ist ja reserviert ... also lieber einen besseren Namen wählen
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat