Hallo,
ich nutze den TWebBrowser zur Darstellung der Beiträge in einem Chat.
Damit kann ich leicht smileys, links und weiteres einfügen.
das mach ich mit:
[delphi]
uses mshtml;
procedure TForm1.insert_text(str:string);
var
Range: IHTMLTxtRange;
begin
Range := ((WebBrowser2.Document as IHTMLDocument2).body as
IHTMLBodyElement).createTextRange;
Range.collapse(False);
Range.pasteHTML('
'+str);
Range.scrollIntoView(true);
//[pre]Range.text:=Range.text+str; anzeigen des
html codes als text
end;
[/pre]
das klappt auch soweit, wenn ich vorher about
:blank geladen habe.
wenn ich jetzt eine zeile einfüge zum beispiel
[pre]
str:='
link.htm'
[/pre]
dann wird der link nicht beendet und alles darauf folgende wird unterstrichen und man kann darauf clicken. clickt man darauf verweist er auch auf die link.htm, das klappt soweit doch anscheinend findet er nicht das ende für den label vom link also [pre]</a>[/pre]
das gleiche problem habe ich mit [pre]
<font>[/pre]
und allen anderen
html tags die etwas umschließen wie <div>
das lustige ist, wenn ich die auskommentierte zeile, also [pre]Range.text:=Range.text+str;[/pre]
nicht auskommentiere sondern, mit compilieren lasse, klappt alles wie es soll, wie von zauberhand.
ich habe keine ahnung warum das nicht klappt und [pre]Range.text:=Range.text+str;[/pre]
kann ich ja auch nicht drin lassen, da dann der ganze quelltext mit angezeigt wird
ich habe es auch schon mit[pre]Range.parentElement.insertAdjacentHTML('BeforeEnd' ,'
'+str);[/pre]
probiert und da kommt auch nur quatsch mit soße raus
ich bitte um Hilfe