Бачурин Николай Валентинович.

Вставка 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

3. ie programming

4. www.codeguru.com

5. Walkall msdn example.

 

Бачурин Николай Валентинович. 02.08.2005.

 

Хостинг от uCoz