На этом шаге мы рассмотрим создание Web-браузера.
Microsoft WebBrowser - стандартный элемент управления на базе ActiveX, а это значит, что Вы можете вставить его в свой MFC-проект, воспользовавшись Components and Controls Gallery. В результате будет создан класс CWebBrowser2, служащий оболочкой для интерфейса IWebBrowser2 Automation, предоставляемого элементом управления WebBrowser. Этот класс позволяет считывать/задавать свойства и вызывать методы, применяя типы C++, а не Automation.
Однако предпочтительнее создавать приложения в стиле Web-браузера мастером MFC AppWizard, определяя СHtmlView как класс представления. CHtmlView - производный от класса CView, он обеспечивает функциональность элемента управления WebBrowser в контексте MFC-архитектуры "документ/вид". CHtmlView содержит функции-члены, позволяющие Вам обращаться к возможностям браузера из кода программы.
Создадим приложение в стиле Web-браузера средствами MFC AppWizard.
Создав проект, в ClassView раскройте класс CMyHtmlAppView.-Дважды щелкните функцию OnInitialUpdate для просмотра ее кода. Он должен иметь следующий вид:
void CMyHtmlAppView::OnInitialUpdate() { CHtmlView::OnInitialUpdate(); // TODO: This code navigates to a popular spot on the Web- // Change the code to go where you'd like. Navigate2(_T("http://www.microsoft.com/visualc/"),NULL, NULL); }
OnInitialUpdate вызывает функцию CHtmlView::Navigate2() для нахождения и отображения в основном окне приложения домашней страницы Visual C++ с Web-узла Microsoft. Если Ваш компьютер не подключен к Интернету, Вы можете изменить функцию Navigate2() для отображения файла MyPage.htm. Если считать, что файл Муpage.htm находится в папке C:\TEMP, строка должна выглядеть следующим образом:
Navigate2(_T("c:\\TEMP\\MyPage.htm"), NULL, NULL);
Прежде чем собрать и запустить приложение MyHtmlApp, добавьте кнопки Forward и Back, выполнив следующие действия.
Рис.1. Кнопки Назад и Вперед
void CMyHtmlAppView::OnGoBack() { GoBack(); } void CMyHtmlAppView::OnGoForward() { GoForward(); }
Рис.2. Функции-обработчики
Исследуйте особенности браузера, предоставленного Вашему приложению классом CHtmlView. Обратите внимание, что строка состояния приложения отображает информацию о ссылках и процессе загрузки страницы. После нескольких переходов по ссылкам на другие страницы Вы получите возможность передвигаться по списку просмотренных страниц вперед и назад, пользуясь кнопками GoВасk и GoForward созданного Вами меню.
Созданное приложение можно взять здесь (38,9 Кб).
На следующем шаге мы рассмотрим доступ к объектной модели DHTML.