Пи�?ем браузер на С++Builder

автор , Янв.02, 2010, рубрики C/C++/C#

Продолжаю тему клонирования программ darkamster’a на Delphi в С++Builder. В этой статье я покажу, как с помощью стандартных компонентов, можно создать свой браузер. Браузер будет на движке ‘всеми-любимого’ InternetExplorer. На�? зверь сможет ходить по URL, смотреть Html странички, ходить вперед и назад, конечно, перезагружать странички и останавливать загрузку.
Начнем новый проект. Советую сразу определиться с дизайном программы, не стоит далеко отходить от принятых стандартов, т.е кнопки навигации вверху, чуть ниже поле для ввода адреса URL, под ними будет располагаться просмотровщик страниц (компонент CppWebBrowser).

Я вместо button использовал компонент panel (это моя задумка — во время наведения курсора панелька будет подсвечена, как это реализовать я напи�?у в самом конце). Под навигацией у меня располагается Edit для ввода адреса, под ним компонент CppWebBrowser, так же нам понадобиться компонент OpenDialod — для просмотра страничек с жесткого диска. �?так, впервую очередь мы распи�?ем событие, совер�?аемое при нажатии enter в edit (с учетом того, что пользователь указал адрес сайта, событие называется — OnKeyPress). Вот код:

if (Key == VK_RETURN){ // нажат ЕНТЕР
wchar_t URL[100];
Edit1->Text.WideChar(URL,100); //Edit1 принял адрес сайта
CppWebBrowser->Navigate(URL,0,NULL,NULL,NULL); //Адрес направлен на cppwebbrowser, по�?ла загрузка
}

Далее напи�?ем код для кнопки открыть:

OpenDialog1->Execute(); //Открываем окно выбора файлов
wchar_t URL[100];
Edit1->Text=(OpenDialog1->FileName); //Присваемаем Edit название выбраного файла
Edit1->Text.WideChar(URL,100);
CppWebBrowser->Navigate(URL,0,NULL,NULL,NULL);

Кнопка назад:

CppWebBrowser->GoBack();

Кнопка вперед:

CppWebBrowser->GoForward();

Кнопка стоп:

[block]2[/block]->Stop();

Кнопка Обновить:

[block]3[/block]->Refresh();

Все готово =) Браузер будет спокойно бороздить просторы инета, под ва�?им чутким контролем. Теперь я распи�?у то, как менять цвет панелек при наведении. �?так, для начала обговорим, что стандартным цветом на�?их panel будет — clBtnFace. Теперь ставим на OnMouseMove, следующий код:

Panel1->Color=clSkyBlue; //я выбрал цвет - небесно синий

В результате чего, при наведии панель поменяет цвет, теперь заставим вернуть ее преждний цвет (если пользователь убрал мы�?ь). Сперва, мы должны выбрать событие OnMouseMove для Form1 и теперь пи�?ем код:

Panel1->Color=clBtnFace; //результат панель приняла стандартный цвет

Мой блог о программировании находят по следующим фразам

Комментировать :

Комментирование закрыто.



Что-то ищите?

Используйте форму для поиска по сайту:



Все еще не можете что-то найти? Оставьте комментарий или свяжитесь с нами, тогда мы позаботимся об этом!

Ключевые слова нашего блога

  • Ускорение windows xp
  • Активация windows xp
  • Виндовс XP
  • Оптимизация windows xp
  • Активировать windows xp
  • Активация виндовс xp
  • Активация windows xp sp3
  • Скачать windows xp sp3
  • Настройка windows xp
  • Тонкая настройка windows xp

Архив сообщений

Все вхождения, в хронологическом порядке...