Делаем браузер
Написания браузера на vb6 не состоявляет большого труда и его создание не требует глубоких познаний в программировании.
Для начала давайте создадим стандартную форму, после чего на ней нам нужно разместить основной компонент нашего браузера Micosoft internet controls. Жмём Проект\Компоненты на страничке Controls отмечаем флажком компонент Microsoft Internet Controls после чего жмём окей и на панели Toolbox появиться этот обьект ввиде глобуса. Размещаем его на форме. Теперь давайте рассмотрим методы работы с ним: Разместите на форме button, двойным нажатием на нем вызовите редактор кода, (всё там удалите) после чего пишем: Dim site As String
Private Sub Command1_Click() ' переход на сайт site = "http://wiki.vgipu.ru" WebBrowser1.Navigate site End Sub
В режиме просмотра кликнув на кнопке вы перейдёте на главную страницу нашего форума. Иногда бывает что нужно принудительно остановить загрузку страницы, в этом нам поможет: Private Sub Command2_Click() ' стоп WebBrowser1.Stop End Sub
Тоесть опять создаём на форме кнопку(button) и вбиваем этот код. В случае если нужно знать когда страница на 100% загружена, нужно написать следующее: Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant) MsgBox "Загрузка оконченна" End Sub
Для удобства разместите внизу на форме Label, в котором будет отоброжаться состояние браузера и замените MsgBox "Загрузка оконченна" на Label1.Caption "Загрузка оконченна"
Используя метод LocationName можно отображать название текущего сайта в заголовке браузера: Private Sub WebBrowser1_DownloadComplete() Form1.Caption = WebBrowser1.LocationName End Sub
Ну и конечноже как и в любом другом браузере довайте разместим ещё 4 кнопки *Назад*, *Вперед*, *Обновить*, *Домой*. В Caption для удобства напишите соответственно для каждой кнопки свой заголовок, тобиш текст который будет отоброжаться на кнопке. Вбиваем код: Private Sub Command3_Click() On Error Resume Next WebBrowser1.GoBack ' Назад End Sub
Private Sub Command4_Click() On Error Resume Next WebBrowser1.GoForvard ' Вперёд End Sub
Private Sub Command5_Click() WebBrowser1.Refresh ' Обновить End Sub
Private Sub Command6_Click() On Error Resume Next WebBrowser1.GoHome ' Перейти на домашнюю страничку End Sub
Если хотите сделать прогресс бар, не проблема, можно его добавить. Лежит он в компоненте Microsoft Windows Common controls. И пишем такой код: Private Sub WebBrowser1_ProgressChange(ByVal Progress As Long, ByVal ProgressMax As Long) On Error Resume Next
If Progress = -1 Then ProgressBar1.Value = 100 'the name of the progress bar is "ProgressBar1". ProgressBar1.Visible = False 'This makes the progress bar disappear after the page is loaded. If Progress > 0 And ProgressMax > 0 Then ProgressBar1.Visible = True ProgressBar1.Value = Progress * 100 / ProgressMax End If Exit Sub
End Sub
Еще две важных вещи: сохранение страницы и авторазмер с скрытием ошибок по javascript: Private Sub Command9_Click()'Сохранение страницы WebBrowser1.ExecWB OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT End Sub
Ну и естественно добавте оптимизатор: Private Sub Form_Resize() On Error Resume Next WebBrowser1.Width = Me.ScaleWidth WebBrowser1.Height = Me.ScaleHeight - 1680 WebBrowser1.Silent = True End Sub