Современные языки программирования предоставляют программистам огромный спектр возможностей, превращая разработку программного обеспечения в приятный творческий процесс. В данной статье описан процесс создания собственного браузера на языке Visual C++ на базе движка Internet Explorer. Как вы можете убедиться, это совсем не сложно.
Запускаем VC++ и создаём новый проект Windows Form Application с именем AV-School WebBrowser
Создался проект, перед нами форма растянем её примерно вот так
[Ссылки могут видеть только зарегистрированные пользователи. ]
Теперь меняем имя у окна на уже известное AV-School WebBrowser, для этого нажимаем Alt+Enter, справа всплыло окно "Свойства" ищем строку Text и меняем значение на AV-School WebBrowser.
Далее нужно создать какой-то элемент, который будет отображать интернет страницу. Тут Microsoft очень облегчило нашу задачу тем что сделало элемент WebBrowser что-бы его добавить открываем панель элементов (вкладка находится справа от нашей формы), там находим элемент WebBrowser
[Ссылки могут видеть только зарегистрированные пользователи. ] Добавляем его в наш форму. Заметили что он растянулся на всё её пространство? Этого нам не надо так как должно остаться место для "Браузерной строки" и кнопок "Перейти" "Обновить" "Вперёд" "Назад".
Что-бы сделать элемент меньше найдём в правом верхнем углу элемента значок похожий на Play
[Ссылки могут видеть только зарегистрированные пользователи. ]
Нажимаем на него и выбираем Открепить в родительском контейнере, ну теперь можем выбрать размер этого элемента, оставляем немного места вверху формы дабы разместить там вышепривиденные элементы.
Самое главное в любом браузере - это Браузерная строка, приступим к её созданию. В уже известной нам панеле элементов найдём элемент TextBox и вставим его в место оставленное нами вверху формы. Ок, чудо строчка готова.
Теперь кнопки. Начнём с тыкалки Перейти. По традиции идём в панель элементов и ищем там Button, добавляем кнопочку рядом с TextBox и переименовываем из Button1 в Перейти (имя меняется так-же как и у формы через панель свойств). Ну а теперь надо заставить кнопку действовать, для этого кликаем на нашу кнопку 2 раза, тут то и начинается код... Как вы поняли мы попали в событие Click, и именно здесь мы должны описать что будет происходить при нажатии на нашу кнопку
Листинг : Описание
Код:
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { this->webBrowser1->Navigate(this->textBox1->Text) ;
}
//Народ не надо копировать всё нам здесь интересно только это: this->webBrowser1->Navigate(this->textBox1->Text) ;
//а остальное это событие которое в вашем коде уже присутствует, у вас в нём стоит курсор.
И так разберём что делает эта срочка. this->webBrowser1->Navigate сообщает элементу webBrowser1 на какую страницу в интернете переходить, а так как у нас написано Navigate(this->textBox1->Text), значит загрузится та страница которую мы написали в текст боксе.
Впринципе самый приметивный браузер готов. Но мы продолжим дорабатывать прогу.
Создаём следущую кнопку Обновить, ставим рядом с кнопкой перейти, меняем имя на Обновить.
Кликаем на кнопочку 2 раза и попадаем в уже известное событие Сlick
Листинг : Описание
Смотрим this->webBrowser1->Refresh(); заставляет webBrowser1 обновить страницу.
Далее кнопка Вперёд, создаём кнопку меняем имя на Вперёд, переходим в событие Click
Листинг : Описание
Теперь осталась только "оформительская часть". Наша браузерная строка не доработана. Допустим введём в неё av-school.ru, пока всё ок, но давайте перейдём в микро. Что написано в строке?? До сих пор написано av-school.ru, потому что мы не просим наш браузер менять строку в текст боксе на адрес в который мы переходим по ссылке. Сейчас мы это исправим. В событиях webBrowser1 есть такое событие DocumentCompleted которое возникает при полной загрузке веб-документа. Вот ему-то мы и присвоим менять TextBox на адрес страницы на которой мы находимся. Переходим в выше указанное событие.
Листинг : Описание
Дважды идет кнопка вперед)
И не описано где кнопка назад))Почитай там идет теперь кнопка вперед и код для кнопки назад
А потом: И наконец-то кнопка вперед.
И тепрь код кнопки вперед
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]