Я не магу понять - все развели какой-то базар вокруг войны Интернет браузеров.
Ie, Ns, Opera... Все чего-то там себе выбирают... Меня эта проблема не
волнует, я могу сам написать себе браузер - такой, как мне захочется. А
тебе слабо? Я думаю, что нет. Через десять минут у тебя тоже будет свой
навигатор.
Предварительные установки
Ты снова должен запустить Delphi. Именно он позволяет очень быстро и без
особых проблем написать свой собственный браузер. Когда запустишь, то
найди закладку "Internet". Здесь должен быть компонент "WebBrowser" (он
должен быть последний). Если у тебя версия Delphi меньше, чем пятая, то
этого компонента может и не быть. Он может отсутствовать и если ты
отказался устанавливать инет-компоненты (по умолчанию они ставятся).
Выбери "Import ActiveX Control" из меню "Component".
В списке выбора этого окна (сверху) найди строку "Microsoft Internet
Controls (Version 1.1)". Версия может отличаться, но нам с тобой -
акваланг. Теперь нажми кнопку "Install". Перед тобой откроется окно и
запрос. На запрос ты должен ответить "Yes".
После того, как Delphi прошуршит мозгами, появится окно, которое сообщит
об успешной установке нового компонента. Нажми "OK" и закрой все, что
открыл Delphi. Для этого выбери "Close All" из меню "File". Теперь и у
тебя есть компонент "WebBrowser", только он расположен на странице
"ActiveX" палитры компонентов.
Как ты мог заметить, мы будем использовать "Microsoft Internet
Controls", т.е. движок установленного на твоем компе IE. А это значит,
что твой браузер подхватит все болезни и глюки своего движка.
Единственное, что может успокоить - так это то, что интерфейс не будет
таким занудным. Он будет таким, как ты захочешь, потому что сделан
твоими руками.
Первые шаги
Сейчас ты уже готов приступить к программированию. Создай новый проект
("File" -> "New Application") и сразу измени заголовок и иконку. Как
это делается, я рассказал в статье про мега-медиа-плеер в этом же
номере.
Двигаемся дальше. Установи на форму наш компонент "WebBrowser" (он
находится на закладке "Internet" или "ActiveX") - у тебя появится белый
квадрат с именем WebBrowser1. После этого брось на форму "CoolBar",
который находится на закладке "Win32" палитры компонентов. Это панелька,
которая должна выровняться по верхнему краю на твоей форме. Теперь
выдели WebBrowser1 и перейди в ObjectInspector. Щелкни по свойству
"Align" и в выпадающем списке выбери "alClient". "WebBrowser" должен
растянуться на все свободное место формы.
Теперь брось на CoolBar1 (мы его недавно установили на форму) панель
"ToolBar" из закладки "Win32" и "ComboBox" из закладки "Standart"
палитры компонентов. Все это ты должен бросить именно внутрь CoolBar1,
иначе ты получишь полный отстой. После этого нужно выделить CoolBar1 и
перейти в ObjectInspector. Здесь ты должен изменить строку "AutoSize" на
"true" (по умолчанию она "false").
Если что-то не получилось, то читай статью заново. Если и это не
поможет, то попробуй накатить пивка, это помогает думать :). Если все в
порядке, то выделяй 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;
Примечание! Набирать на клаве нужно только то, что написано между Begin и
End, все остальное уже должно быть создано Delphi. В данном случае ты
должен набрать только "if Key= VK_RETURN then
WebBrowser1.Navigate(ComboBox1.Text)", причем без кавычек. Я остальные
строчки привожу только чтобы тебе было удобно глазеть и сравнивать с
тем, что за тебя делает Delphi.
Теперь то же самое, но по понятиям:
Процедура ComboBox1.КлавишаНажата (Sender - Адрес ComboBox1;
Key - КодНажатойКлавиши; Shift - состояние клавиш Shift, Ctrl,Alt)
Начало
Если КодНажатойКлавиши равен Enter, то
WebBrowser1.Перейти на адрес, указанный в ComboBox1
Конец
Нажми "F9", и твоя прога должна засвистеть. Введи какой-нибудь адрес в
строку ComboBox и нажми Enter (это клавиша на кейборде :)). Если ты
правильно ввел адрес, то в WebBrowser1 через несколько минут должен
появиться указанный Home Page. Когда наиграешься со своим произведением,
то возвращайся в Delphi. Мы еще многое должны сегодня успеть сделать.
Улучшаем свой браузер
Кликни по ToolBar1 и снова переходи в ObjectInspector. Здесь нужно
изменить свойства "AutoSize", "ShowCaption" и "Flat" на "true" (все они
по умолчанию равны false). Теперь щелкай правой кнопкой по ToolBar1 и из
появившейся менюшки выбирай пункт "New Button". На ToolBar1 должна
появиться новая пимпа с именем "ToolButton1". Выдели ее и в
ObjectInspector-е поменяй свойство Caption на "Открыть". Создай еще
насколько кнопок с заголовками: Назад, Вперед, Стоять, Обновить и
Печать.
Установи еще на форму "OpenDialog" из закладки "Dialogs" палитры компонентов. Он нам скоро понадобится.