[Text] WebBrowser für Anfänger Verfasst am: 11.08.2007, 09:48
Thema:Programmieren eines eigenen Webbrowsers
1. Einleitung
2. Das Webbrowser Objekt
3. Grundfunktionen
4. Weitere Funktionen
5. Nützliche Tricks
1. Einleitung
Naja da viele Themen bereits von ZiG erklärt wurden musste ich lange nachdenken bis ich etwas gefunden hatte, dass vielleicht den ein oder anderen hier Interessiert...
Einen Webbrowser zu erstellen ist eigentlich nicht sehr schwer, da die wichtigsten Funktionen eines Webbrowsers sehr übersichtlich sind. Ihr könnt einen Webbrowser auch direkt über den VB-Anwendungsassistenten erstellen. Daraus lernt man jedoch kaum.
Benötigt werden folgende Objekte:
Form alias frmBrowser
Commandbutton alias cmdGo
Combobox alias cboAdress
WebBrowser alias Browser
2. Das Webbrowser Objekt:
Um das Webbrowser Objekt verwenden zu können, müsst ihr die Komponente Microsoft Internet Controls laden. Jetzt habt ihr das neue Objekt WebBrowser in eurer ToolBar. Zieht diesen jetzt auf eure Form.
3. Grundfunktionen:
Nachdem ihr das WebBrowser Objekt zu eurer Form hinzugefügt habt, folgt nun die wohl wichtigste Funktion eines WebBrowsers: Das navigieren zu einer vorgegebenen Seite.
Die ComboBox cboAdress dient hierbei als Eingabefeld.
Indem wir auf cmdGo klicken oder EINGABE drücken werden wir mit der gewünschten Seite verbunden.
Code:
Private Sub cboAdress_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then cmdGo_Click 'Wenn Eingabe gedrückt wird rufe die Sub cmdGo_Click
End Sub
Private Sub cmdGo_Click()
browser.Navigate cboAdress
cboAdress.AddItem (cboAdress.Text)
End Sub
Mit diesem Code wird sogar direkt eine Art Verlauf gespeichert: Durch die vorletzte Zeile wird der momentane Text aus der Combobox als ListenItem hinzugefügt.
Um das verbinden mit der aktuellen Internetseite zu stoppen benutzt ihr folgenden Code:
Code:
browser.Stop
Um jeweils eine Seite vor - oder zurückzublättern benutzt ihr die Befehle
Code:
browser.GoBack
Um zurückzugehen und
Code:
browser.goforward
um vorwärts zu gehen.
Alle Webbrowser navigieren zum Start des Programms zu einer vorgegebenen Startseite. Das Event Form_Load eignet sich dafür wohl am besten.
Um zur Startseite zu navigieren benutzt ihr folgenden Code:
Code:
browser.GoHome
4. Weitere Funktionen
Um eine bestimmte Startseite festzulegen, gibt es keinen so kurzen Code.
Die einfachste Möglichkeit ist es die Startseite in einem Textdokument zu speichern.
Code:
Open "C:\Startseite.txt" For Input As #1
Print #1, cboAdress.Text
Close #1
Durch diese Funktion könnt ihr jedoch nicht einfach den Befehl .GoHome verwenden. Ihr müsst zum Start des Programms die Datei auslesen und in einer Variable speichern.
Code:
Open "C:\Startseite.txt" For Output As #1
Input #1, Startseite
Close #1
browser.Navigate Startseite
5. Nützliche Tricks
Wenn ihr das HTML Dokument, das dargestellt wird drucken wollt, so könnt ihr einfach folgenden Code benutzen:
Code:
WebBrowser.SetFocus
SendKeys "^p"
Die Website wird ganz einfach mit der Tastenkombination Strg + P ausgedruckt!
Sollte ein WebSite momentan nicht erreichbar sein wird die vorgegebene HTML Fehler Seite angezeigt. Hierbei wird
der Sandart des InternetExplorers verwendet, und auch dessen Name angezeigt (Bei Vista wird die Fehlerseite durch
"Programm" verallgemeinert)
Um einen wirklich eigenen Browser zu erstellen, müsst ihr eine eigene Fehlerseite benutzen.
Hierbei wird die Sub Browser_NavigateError benötigt.
Speichert einfach den HTML Text in einer Variable und sobald die Sub NavigateError ausgeführt wird, navigiert ihr durch
folgendem Code zu eurer gewünschten HTML Seite:
Code:
Private Sub WebBrowser1_NavigateError(ByVal pDisp As Object, _
URL As Variant, Frame As Variant, StatusCode As Variant, _
Cancel As Boolean)
WebBrowser.Silent = True
Webbrowser.Navigate HTMLPage
End Sub
Hoffe ich konnte euch zeigen wie man mit einem WebBrowser umgeht... Im 2ten Teil werdet ihr unter anderem erfahren, wie ihr
Formulare automatisch ausfüllt und wie ihr mit eurem Browser Links abfangt, die eigentlich im Standartbrowser geöffnet werden.
PS: Die meisten Informationen könnt ihr bei ActiveVB und VBArchiv nachlesen. Jedoch nicht so ausführlich wie hier beschrieben. _________________
ZiG_ Überflieger
Anmeldedatum: 07.03.2007 Beiträge: 1248
Verfasst am: 11.08.2007, 10:31
Nice nice. Haste gut gemacht.
Text Tutorials ftw. _________________ Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
Klima_Killer_ Newbie
Anmeldedatum: 17.06.2007 Beiträge: 18
Verfasst am: 11.08.2007, 14:56
Zitat:
Speichert einfach den HTML Text in einer Variable und sobald die Sub NavigateError ausgeführt wird, navigiert ihr durch
folgendem Code zu eurer gewünschten HTML Seite:
hmm, als anfänger weiß ich net wie das geht. kannst das kurz erklären?
das ist ein beispiel von vbarchiv. wenn du per browser jetzt zu der variable sHTML navigierst wird eine eigene fehlerseite angezeigt
die Sub NavigateError wird nur aktiviert, wenn zu einer ungültigen seite wie z.B. "vbb-x.org" navigiert wird. statt zu der gewünschten seite zu verbinden siehst du nun dein HTML formular, das in der variable sHTML gespeichert ist
Klima_Killer_ Newbie
Anmeldedatum: 17.06.2007 Beiträge: 18
Verfasst am: 11.08.2007, 16:44
vielen dank für die antwort
kokaiin_ Tutorial Leser
Anmeldedatum: 03.01.2008 Beiträge: 36
Verfasst am: 12.03.2008, 20:03
//edit, hab mich vertan!
MagicDito Newbie
Anmeldedatum: 06.01.2012 Beiträge: 1
Verfasst am: 06.01.2012, 03:55
Zitat:
Um eine bestimmte Startseite festzulegen, gibt es keinen so kurzen Code.Die einfachste Möglichkeit ist es die Startseite in einem Textdokument zu speichern.
Die idee mit der Txt find ich gut aber ich Selber würdes eher so Machen weil man dann nichts extra abspeichern muss
Code:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TextBox1.Text = "deine Startseite"
If TextBox1.Text = "Deine Startseite" Then WebBrowser1.Navigate(TextBox1.Text)
End Sub