Лекция: WEB-браузер

Для разработки собственного WEB-браузера используется набор компонентов «Microsoft Internet Controls». Это значит, что Ваш браузер будет иметь те же достоинства и недостатки, что и у стандартного Internet Explorer. Единственное, что может успокоить — так это то, что интерфейс может быть таким, каким Вы захотите, потому что сделан Вашими руками.

Создание браузера заключается в следующих шагов:

1. Создайте новый проект («File» -> «New Application») и сразу измените заголовок и иконку.

2. Установите на форму компонент «WebBrowser» (он находится на закладке «Internet» или «ActiveX») — у Вас появится белый квадрат с именем WebBrowser1.

3. Расположите на форме также компонент «CoolBar», который находится на закладке «Win32» палитры компонентов. Это панелька, которая должна выровняться по верхнему краю формы.

4. Выделите WebBrowser1 и перейдите в Object Inspector. Щелкните по свойству «Align» и в выпадающем списке выберите «alClient». «WebBrowser» должен растянуться на все свободное место формы. В результате Вы увидите нечто похожее на рис. 1.

 

Рис. 1 – Окно WEB-браузера
 

 

5. Установите на CoolBar1 панель «ToolBar» из закладки «Win32» и «ComboBox» из закладки «Standart» палитры компонентов (Все это Вы должны расположить именно внутри CoolBar1). После этого нужно выделить CoolBar1 и перейти в ObjectInspector. Здесь необходимо изменить строку «AutoSize» на «true» (по умолчанию она «false»).

6. Выделите ComboBox1 (выпадающий список) и перейдите в ObjectInspector. Здесь необходимо перейти на закладку «Events», выбрать строку «OnKeyDown» и ввести имя процедуру (двойное нажатие кнопки мыши). Delphi создаст процедуру, которая будет вызываться каждый раз, когда Вы будете вводить какую-нибудь букву в «ComboBox». Здесь Вы должны написать следующее:

 

procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key= VK_RETURN then
WebBrowser1.Navigate(ComboBox1.Text);
end;

 

7. Запустите программу, введите какой-нибудь адрес в строку ComboBox и нажмите клавишу Enter Если вы правильно ввели адрес, то в WebBrowser1 через несколько минут должен появиться указанная страница.

 

Введение дополнительных возможностей в WEB-браузер.

 

Выберите ToolBar1 и перейдите в ObjectInspector. Здесь нужно изменить свойства «AutoSize», «ShowCaption» и «Flat» на «true» (все они по умолчанию равны false). Нажмите правую кнопку мыши на ToolBar1 и из появившегося меню выберите пункт «New Button». На ToolBar1 должна появиться новая кнопка с именем «ToolButton1». Выделите ее и в ObjectInspector-е поменяйте свойство Caption на «Открыть». Создайте еще насколько кнопок с заголовками: Назад, Вперед, Стоять, Обновить и Печать. Результат должен быть похож на рис. 2.

 

Рис. 2 – Окно WEB-браузера с дополнительными кнопками
 

Установите также на форму «OpenDialog» из закладки «Dialogs» палитры компонентов.

Теперь дважды кликните по кнопке «Открыть», и Delphi автоматически создаст процедуру, которая будет вызываться при нажатии этой кнопки. В этой процедуре нужно написать следующее:

 

procedure TForm1.ToolButton1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
WebBrowser1.Navigate(OpenDialog1.FileName);
ComboBox1.Text:=OpenDialog1.FileName;
end;
end;

 

Теперь можно запустить программу и открыть с помощью этой кнопки любой файл на диске.

Для работы кнопки «Назад» необходимо в процедуре, соответствующей событию OnClick вставить строку:

 

procedure TForm1.ToolButton2Click(Sender: TObject);
begin
WebBrowser1.GoBack;
end;

 

Для кнопки «Вперед» напишите следующий код:

 

procedure TForm1.ToolButton3Click(Sender: TObject);
begin
WebBrowser1.GoForward;
end;

 

Для кнопки «Стоп» напишите:

 

procedure TForm1.ToolButton4Click(Sender: TObject);
begin
WebBrowser1.Stop;
end;

 

Для кнопки «Обновить»:

 

procedure TForm1.ToolButton5Click(Sender: TObject);
begin
WebBrowser1.Refresh;
end;

 

И, наконец, для кнопки «Печать»:

 

procedure TForm1.ToolButton6Click(Sender: TObject);
var
PostData, Headers:OLEvariant;
begin
WebBrowser1.ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DODEFAULT,PostData, Headers);
end;

 

В этой строке посылается команду через OLE ядру IE.

Ваш браузер почти готов. Можете немного изменить работу программы для лучшего восприятия.

Для этого размещаем на форме StatusBar из закладки «Win32» и изменяем у него свойство «SimplePanel» в true (по умолчанию false). Выделяем WebBrowser1 и переходим на закладку «Events» в ОbjecInspector-е. Дважды кликните по строке «OnStatusTextChange» и напишите в созданной процедуре следующее:

 

procedure TForm1.WebBrowser1StatusTextChange(Sender: TObject;
const Text: WideString);
begin
StatusBar1.SimpleText:=Text;
end;

 

Здесь мы присваиваем переменную «Text» (в ней хранится текст подсказки) в StatusBar1. Теперь можно видеть подсказки в строке состояния.

Добавьте ещё индикатор загрузки. Для этого расположите на форме ProgressBar из закладки «Win32». Измените у него свойство «Align» на «alBottom», чтобы он находился вдоль нижней границы формы. Снова выделите WebBrowser1 и щелкните по закладке «Events» в ОbjecInspector-е. Дважды щелкните по строке «OnProgressChange» и напишите в созданной процедуре:

 

procedure TForm1.WebBrowser1ProgressChange(Sender: TObject; Progress,
ProgressMax: Integer);
begin
ProgressBar1.Max:=ProgressMax;
ProgressBar1.Position:=Progress;
end;

 

Здесь созданному ProgressBar1 (индикатор загрузки) присваивается максимальное значение (ProgressMax) и текущее значение (Progress).

еще рефераты
Еще работы по информатике