Как получить Internet Explorer в приложении wxWidgets? - PullRequest
1 голос
/ 02 декабря 2010

В настоящее время используется wxHTML для отображения удаленной веб-страницы в приложении на основе Windows wxWidgets на C ++.

Однако мне нужны более продвинутые функции, такие как элементарные стили CSS и JavaScript. Я думаю, что проще всего было бы встроить Internet Explorer. Ключевым является сохранение небольшого размера файла .exe, поэтому я не думаю, что wxWebConnect хорошо подойдет.

Как я могу это сделать? Я нашел некоторые ссылки на использование ActiveX для встраивания IE в приложение wxWidget, но я не могу найти ни примеров, ни документации, ни чего-либо другого.

Обновление: причина, по которой он использует wxWidgets, является исторической. Кросс-платформенные проблемы не имеют значения, они должны работать только в Windows.

Ответы [ 2 ]

3 голосов
/ 02 декабря 2010

Одной из основных причин использования wxWidgets над некоторыми другими библиотеками виджетов является то, что wxWindows является кросс-платформенной совместимостью. Внедрение IE могло бы уничтожить это.

Это означает, что (а) это, вероятно, не очень хорошая идея (даже если вы не пишете для кроссплатформенности сейчас, вы можете изменить свое решение в будущем), и (б) вы не найдете много других люди делают это, поэтому трудно будет найти учебники и примеры.

Мое предложение было бы рассмотреть кроссплатформенный браузер вместо IE; Firefox кажется очевидным выбором.

Имея это в виду, я сделал быстрый Google для вас и придумал это, который, кажется, может быть решением для вас: http://www.kirix.com/labs/wxwebconnect.html

Надеюсь, это поможет.

[EDIT] Конечно, основанный на Firefox виджет даст вам намного лучшую визуализацию CSS / JS / HTML, чем текущие версии IE, так что это еще одна веская причина использовать его вместо этого.

[EDIT] Возвращаясь к этому ответу, потому что я наткнулся на виджет Webkit, который также стоит проверить. Вот ссылка, которую я только что нашел: http://wxwebkit.kosoftworks.com/
(я знаю, что это ничего не меняет для ОП, но может быть полезно для любого, кто найдет эту страницу)

2 голосов
/ 02 декабря 2010

Я сделал именно это.Это довольно просто.По сути, вы размещаете элемент управления MSHTML ActiveX.Internet Explorer берет этот элемент управления и добавляет кнопки, историю, новые функциональные возможности окна, вкладки и так далее.Однако все компоненты рендеринга, DOM и Javascript обрабатываются компонентом MSHTML.

Компонент wxActiveX позаботится о практических деталях хостинга ActiveX.wxIE, очевидно, является производным классом, который объединяет виджет wxActiveX с элементом управления MSHTML и добавляет немного блеска.YMMV.

...