Rubrik: HTML/Internet/Netzwerk · HTML/Email | VB-Versionen: VB4, VB5, VB6 | 09.12.05 |
HTML-Text im WebBrowser-Control Anzeigen von HTML-Texten im WebBrowser-Control, ohne diese aus einer Datei zu laden. | ||
Autor: Dieter Otter | Bewertung: | Views: 44.628 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Dieser Tipp zeigt, wie sich ein beliebiger HTML-Text, der bspw. dynamisch zur Laufzeit erzeugt wurde, im WebBrowser-Control anzeigen lässt, ohne dass der Text zuvor in einer HTML-Datei gespeichert werden muss.
Eine gespeicherte Datei lässt sich bekanntlich über die Navigate-Methode des WebBrowser-Controls laden und anzeigen - was aber, wenn der Text direkt aus einer Stringvariable heraus im WebBrowser angezeigt werden soll?
Wie das geht, zeigt nachfolgender Code.
Zunächst sollte beim Laden der Form eine leere Seite ohne Inhalt angezeigt werden:
Private Sub Form_Load() ' zunächst leere Seite anzeigen WebBrowser1.Navigate "about:blank" End Sub
Dieses leere Dokument nutzen wir nun, um unseren HTML-Textstring direkt in das Body-Objekt zu schreiben:
' HTML-Textstring in das WebBrowser-Control schreiben WebBrowser1.Document.Body.innerHTML = sHTML
Ein kleines Beispiel:
Erstellen Sie ein neues Projekt und platzieren auf die Form ein WebBrowser-Control (WebBrowser1). Fügen Sie nachfolgenden Code in den Codeteil der Form ein:
Option Explicit Private Sub Form_Load() ' zunächst eine leere Seite im WebBrowser anzeigen WebBrowser1.Navigate "about:blank" DoEvents ' jetzt einen beliebigen HTML-Text im WebBrowser anzeigen Dim sHTML As String sHTML = "<h1>HTML-Text im WebBrowser-Control</h1>" & _ "<p>Dieser Tipp zeigt, wie sich ein beliebiger HTML-Text, der bspw. dynamisch zur " & _ "Laufzeit erzeugt wurde, im WebBrowser-Control anzeigen lässt, ohne dass der " & _ "Text zuvor in einer HTML-Datei gespeichert werden muss.</p>" sHTML = sHTML & "<p>Eine gespeicherte Datei lässt sich bekanntlich über die Navigate-" & _ "Methode des WebBrowser-Controls laden und anzeigen - was aber, wenn der Text " & _ "direkt aus einer Stringvariable heraus im WebBrowser angezeigt werden soll?</p>" sHTML = sHTML & "<p>Wie das geht, zeigt nachfolgender Code.</p>" sHTML = sHTML & "<p>Zunächst sollte beim Laden der Form eine leere Seite ohne Inhalt " & _ "angezeigt werden:</p>" sHTML = sHTML & "<pre><code>Private Sub Form_Load()" & vbCrLf & _ " <font color=green>' zunächst leere Seite anzeigen</font>" & vbCrLf & _ " WebBrowser1.Navigate ""about:blank""" & vbCrLf & _ "End Sub</code></pre>" sHTML = sHTML & "<p>Dieses leere Dokument nutzen wir nun, um unseren HTML-Textstring " & _ "direkt in das Body-Objekt zu schreiben:</p>" sHTML = sHTML & "<pre><code><font color=green>' HTML-Textstring in das " & _ "WebBrowser-Control schreiben</font>" & vbCrLf & _ "WebBrowser1.Document.Body.innerHTML = sHTML</code></pre>" WebBrowser1.Document.Body.innerHTML = sHTML End Sub