Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin

Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Texte und Ebooks
Autor
Nachricht
r4z3r_
« Webmaster »<b><font color=red>« Webmaster »</fo



Anmeldedatum: 06.02.2007
Beiträge: 252

[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
Überflieger

Anmeldedatum: 07.03.2007
Beiträge: 1248


Verfasst am: 11.08.2007, 10:31

Nice nice. Haste gut gemacht.
Text Tutorials ftw. Very Happy
_________________
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
 
Klima_Killer_
Newbie
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?
 
r4z3r_
« Webmaster »<b><font color=red>« Webmaster »</fo



Anmeldedatum: 06.02.2007
Beiträge: 252


Verfasst am: 11.08.2007, 15:11

[code]
sHTML = "about:" & _
"<html>" & _
"<body leftMargin=10 topMargin=10 marginheight=10>" & _
"<p align=center><h2><b>Sorry... die angeforderte Seite konnte " & _
"nicht geladen werden.</b></h2></p>" & _
"<p> </p>" & _
"<p align=center><h1><font color=red>Fehlercode: " & CStr(StatusCode) & _
"</font></h1><br>" & _
"URL: " & URL & _
"</body></html>"
[/code]

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
Newbie

Anmeldedatum: 17.06.2007
Beiträge: 18


Verfasst am: 11.08.2007, 16:44

vielen dank für die antwort Very Happy
 
kokaiin_
Tutorial Leser
Tutorial Leser

Anmeldedatum: 03.01.2008
Beiträge: 36


Verfasst am: 12.03.2008, 20:03

//edit, hab mich vertan!
 
MagicDito
Newbie
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

_________________


 
christopher.g
Überflieger
Überflieger

Anmeldedatum: 03.05.2008
Beiträge: 536


Verfasst am: 13.01.2012, 19:02


du arbeitest auch mit vb.net und nicht vb6 Wink
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Texte und Ebooks

Tags: webbrowser, speichern, verlauf, combobox, erstellen

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Wie kann ich mich bei euch anmelden?? 796 20.05.2002, 00:28
Keine neuen Beiträge Eine kleine Frage an euch.. 906 30.09.2007, 08:57
Keine neuen Beiträge TopMost Funktion unter DirectX 921 27.07.2007, 10:48
Keine neuen Beiträge Wie Funktion nutzen ? 1100 29.06.2007, 20:59
Keine neuen Beiträge update funktion einbauen 1341 28.01.2007, 23:11
 



[ Time: 0.3372s ][ Queries: 111 (0.0515s) ][ GZIP on - Debug on ]