Твой собственный Web-браузер
Спецвыпуск Хакер, номер #004, стр. 004-068-3
procedure TForm1.ToolButton2Click(Sender: TObject);
begin
WebBrowser1.GoBack;
end;
Я думаю, что здесь ничего объяснять не надо. Мы просто заставляем WebBrowser1 идти на предыдущую страницу.
Повтори те же операции для кнопки "Вперед", чтобы создать процедуру. Напиши для нее следующий код:
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. Просто скопируй ее один к одному в свой исходник и поверь мне на слово.
Теперь можешь нажать "F9", и твоя прога должна запуститься. Попробуй поиграть с ней. Неплохие ощущения? Закрывай свой браузер, остались последние штрихи!
Последние штрихи
Твой браузер почти готов. Я только наведу небольшой марафет.
Для начала брось на форму 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).
Теперь надо украсить наши кнопки, а то они смотрятся как сам IE. Для этого брось на форму ImageList и произведи по нему ДоублеКлик. Перед тобой откроется окно, как на рисунке 7. Сюда нужно добавить картинки размером 16х16. Для этого нажми кнопку "Add", и перед тобой откроется стандартное окно открытия файла. Найди картинку и нажми "Открыть". Повтори эту процедуру 6 раз (6 картинок для 6-и кнопок). После всего этого нажми "ОК".
Теперь выдели ToolBar1 и в ObjectInspector-е измени свойство Images на "ImageList1". На твоих кнопках должны появиться картинки. Если ты добавлял картинки не в том порядке, как они у тебя стоят на форме, то можешь пересортировать их с помощью свойства ImageIndex у кнопки. Например: щелкни по кнопке "Стоять" и измени ImageIndex на 0. На кнопке должна появиться картинка, указанная первой в ImageList1.