Бачурин Николай
Валентинович.
Вставка WebBrowser в окно с
использованием только C++.
Download
source - 46 Kb cppwebpage.zip
08/02/2005
This
article was contributed by Bachurin Nikolaj.
Environment:
Win32, VC7 (recommended, but not required), IE 4.0 or better (or some browser
that supports OLE in-place automation).
Чтобы вставить клон Internet Explorer в окно, обычно требуется использование MFC, .NET, C#, WTL. Все примеры не обходятся без использования той или иной библиотеки. А как быть программистам, привыкшим к написанию программ в стиле Win32 приложения. В данном примере сделан упор на использование элемента WebBrowser в чисто Win32 приложении. Данная программа была создана на основе программы, написанной с использованием чистого C, Jeff Glatt –ом [2]. Отказываться от использования C++ с его стороны было очень неразумно (если к этому, конечно, не было очень серьезных причин). Поэтому я переработал программу с использованием классов интерфейсов, описанных в системных включаемых файлах, и перевел ее в C++. Это позволило значительно лучше структурировать программу, уменьшить ее размер. Программа была доработана в соответствии с написанными в конце статьи замечаниями по дальнейшей доработке: добавлена обработка события WM_SIZE, добавлен интерфейс WinSink (позаимствованный из примера WalkAll msdn [5]), позволяющий реагировать на некоторые события в WebBrowser. В [2] приводится подробное описание работы программы, принципов организации интерфейсов COM объектов, что очень интересно для начинающего программиста в COM. Поэтому я не привожу описания работы программы.
Далее приводится цитата из [1].
“Области применения:
К сожалению 99% примеров использования WebBrowser в VB - это My_Super_Browser.
C помощью IE можно открыть фалы в текстовом формате, html, документы Word, Excel, pdf. Это прекрасный просмотрщик различных графических и медиа файлов.
Использование DHTML в скриптовых языках весьма ограничены возможностями этих языков и теми задачами, которые с их помощью решаются. С VB использовать DHTML - настоящее удовольствие.
Возможности связки WebBrowser - Html - Css в разы превосходит возможности RTF и по функциональности и по удобству использования.
Большинство web-страниц в интернете можно рассматривать как отчёты, так как они генерируются на основе баз данных. Использование Crystal Reports и ему подобных возможно удобнее, но во первых они стоят денег и во вторых они не позволяют и сотой части того, что можно реализовать используя html.
Благодаря хорошо развитому инструментарию отображения и обработки событий WebBrowser удобен для создания собственных элементов управления. В этом отношении с ним гораздо удобнее работать, чем с API функциями.
Результат использования WebBrowser для создания интерфейса можно оценить на примере vb-программы PharmGuide надстройки Excel DataExtract“
Список использованных материалов:
1. Использование WebBrowser и MSHTML в VB.
2. Display a Web Page in a Plain C
Win32 Application
by Jeff Glatt
5. Walkall
msdn example.
Бачурин Николай Валентинович. 02.08.2005.