2012-01-10 1 views
1

Я пытаюсь разместить веб-браузер внутри диалогового окна. Я использую C++ с Win32 и ATL, без MFC. Существует элемент управления ActiveX (IWebBrowser2), который реализует эту функциональность. Трюк заключается в том, что мне кажется, что мне нужно создать класс диалога, который реализует десятки функций члена COM для этого. Нет ли более простого способа? Я смотрел ATL (не я не могу использовать MFC, иначе я бы использовал CDHtmlDialog), но не нашел ответов.Не удается определить, как размещать веб-браузер (например, IWebBrowser2) в диалоговом окне Win32. ATL в порядке, нет MFC

+0

Есть ли у вас код для публикации? –

+0

Проверьте это - http://www.assembla.com/code/roatl-utilities/subversion/nodes/trunk/DispEventSample02/MainDlg.h. Это тоже ATL + WTL, а фрагмент кода очень компактен. В основном вам нужен интерфейс CAxDialogImpl и sink. –

+0

Мне очень нравится ваш код Roman! К сожалению, я не могу повлиять на WTL. :( –

ответ

0

Вот отличный учебник о том, как выполнить именно то, что я пытаюсь сделать. В частности, это объясняет, как создать диалог с использованием ATL, но не WTL или MFC, на котором размещен веб-браузер (через IWebBrowser2).

http://www.arstdesign.com/articles/Win32_dialoghelpers.html

0

Вот статья CodeProject, что демонстрирует процесс: http://www.codeproject.com/KB/wtl/wtl4mfc6.aspx

Предполагается, что вы будете использовать WTL, но я думаю, что она может быть использована только с АТЛ. WTL является расширением ATL.

+0

Я думаю, что в какой-то момент прошлого WTL начал использоваться без ATL (например, для хорошо подходит и для экспресс-версий Visual Studio). –

+0

Спасибо за ответ Марк. К сожалению, я не могу привнести зависимость от WTL. Я сейчас смотрю на код, пытаясь понять, как выполнить эту задачу только с ATL. –

 Смежные вопросы

  • Нет связанных вопросов^_^