Браузер на Delphi (Компонент WebBrowser)


Компонент WebBrowser — пишем свой браузер на Delphi

Создавать браузер мы будем на базе компонента WebBrowser со вкладки палитры компонентов — Internet. Для этого первым делом разместим на форме все самое необходимое…

  • Один компонент WebBrowser со вкладки Internet , 13-шт компонентов SpeedButton, 1- компонент ComboBox, 1 — компонент Panel, 1 — компонент ProgressBar, 1 — компонент StatusBar, 1 — компонент OpenDialog и 1 — компонент SaveDialog. Разместим их на форме примерно следующим образом:

-браузер-Картинка1 Браузер на Delphi (Компонент WebBrowser)

  • В uses подключаем  MSHTML и ActiveX
  • Создадим событие OnCreate на форме и запишем в нем следующий код:

Вместо okolokompa.ru можно ввести адрес любой страницы, которую бы вы хотели получить при запуске браузера.

Далее пропишем клавишу «Вперед». Кнопку, которую будем нажимать после ввода адреса в ComboBox. Для этого:

  • Создадим событие OnClick на SpeedButton6 например, и в коде напишем:

Помещение введенного адреса в выпадающий список, будет позволять нам при нажатии на СomboBox, просматривать историю вводимых вручную адресов, в строку браузера.

Далее для удобства сделаем так, чтобы данный механизм работал не только от SpeedButton6, но и от нажатия нами на клавишу Enter, для этого:

  • Создадим событие OnKeyPress y компонента ComboBox1 и запишем следующее:

Теперь просматривать страницы можно и по нажатии клавиши Enter.

Далее заставим работать клавиши — шаг назад и шаг вперед.

  • Для клавиши — Шаг назад, пишем в событии OnClick у кнопки SpeedButton1:

  • Для клавиши — Шаг вперед пишем в событии OnClick у кнопки SpeedButton2:

  • Для перехода на домашнюю страницу в OnClick на SpeedButton5 пишем:

  • Для остановки загрузки в OnClick на SpeedButton4 пишем:

  • Для обновления страницы в OnClick на SpeedButton3 пишем:

Итак, мы успешно прописали основные клавиши для работы нашего браузера. Теперь пропишем еще ряд кнопок, придав нашему приложению дополнительную функциональность. Например, обеспечим открытие файлов в нашем браузере расположенных на локальных дисках.

  • Для этого в OnClick на SpeedButton7 пишем:

  • Для возможности нашего браузера также сохранять странички на компьютер, в OnClick на SpeedButton9 пишем:

  • Для получения возможности печати по нажатию на SpeedButton8 в OnClick последнего пропишем:

  • Для предварительного просмотра странички перед печатью, в  OnClick на SpeedButton10 пишем: 

  • А для предварительной настройки ее параметров, в OnClick на SpeedButton11 пишем: 

  • Теперь организуем поиск слов на страничке, и в OnClick на SpeedButton12 пишем:  

  • Чтобы сохранить исходный код в текстовый файл нужно:

а) В разделе Public записываем следующую процедуру

бЖмем Ctrl+Shift+C;

вВ сгенерированном автоматически шаблоне TForm1.SaveHTMLSourceToFile(const FileName: string; WB: TWebBrowser) прописываем:

г) Пишем в OnClick на SpeedButton13: 

  • Настроим режим уведомления об успешных загрузках документов, для этого в свойстве OnDocumentComplete компонента WebBrowser1, нужно прописать следующее:

  • Чтобы ProgressBar1 отображал ход загрузки страниц, в свойстве OnProgressChange компонента WebBrowser1, нужно прописать:

  • Если в событии OnStatusTextChange компонента WebBrowser1, прописать: 

то URL хода загрузки, будет корректно отображаться в StatusBar;