Vielleicht aus dem Fragment einfach mal eine vollständige
HTML-Seite machen und dann TWebBrowser nutzen?
Also mindesten noch ein
davor und ein
dahinter.
Davon ausgehend, dass Dein Fragment in 'ner Stringliste vorliegt und Du dich für den TWebBrowser entscheidest, könnte eventuell sowas gehen:
Delphi-Quellcode:
procedure WBLoadHTML(wb: TWebBrowser; slHTMLCode: tStrings);
overload;
var
ms: TMemoryStream;
begin
wb.Navigate('
about:blank');
while wb.ReadyState < READYSTATE_INTERACTIVE
do Application.ProcessMessages;
if Assigned(wb.Document)
then begin
ms := TMemoryStream.Create;
try
slHTMLCode.Insert(0,'
<body>');
// Hierzwischen könnte man auch noch 'nen Header reinbauen,
// der ein Stylesheet aufruft ... und sonst alles,
// was man für ein standardkonformes HTML braucht ...
slHTMLCode.Insert(0,'
<html>');
slHTMLCode.Add('
</body>');
slHTMLCode.Add('
</html>');
slHTMLCode.SaveToStream(ms);
ms.Seek(0, 0);
(wb.Document
as IPersistStreamInit).Load(TStreamAdapter.Create(ms));
finally
ms.Free;
end;
end;
end;
// Aufruf:
...
// Befüllen der Stringliste mit dem Fragment
WBLoadHTML(DeineWebBrowserKomponente,StringlisteMitDemFragment);
...
SynEdit und Highlighter sind für die Farbhervorhebung des
HTML-Quelltextes geeignet, aber nicht für die Darstellung als Webseite.