MFC: как зафиксировать событие щелчка по ссылке в элементе управления веб-браузером?

У меня есть приложение MFC с веб-контролем. Когда нажимаются интерактивные ссылки, они открываются с помощью IE, а не браузера по умолчанию. Вопросы :

  1. Есть ли способ заставить его открываться с помощью браузера по умолчанию?
  2. Если нет, то как мне перехватить событие Link Click, чтобы я мог просто манипулировать событием click позже?

Спасибо...


person Owen    schedule 19.02.2010    source источник


Ответы (2)


  1. Нет, насколько я знаю.
  2. Ознакомьтесь со статьями на http://ehsanakhgari.org/article/visual-c/webbrowser-goodies . В нем есть ряд статей, в которых показано, как настроить приемник событий с помощью IDocHostUIHandler и т. д. для обработки таких событий, как нажатие ссылок. Я не уверен, какой интерфейс реализовать, прошли годы с тех пор, как я в последний раз делал это. Затем вы используете ShellExecute() с URL-адресом в качестве третьего параметра, чтобы открыть URL-адрес в браузере по умолчанию.
person Roel    schedule 19.02.2010

Вы можете захватывать события кликов, используя «HRESULT STDMETHODCALLTYPE Invoke», см. MSDN для получения дополнительных сведений. А вот отличный пример, показывающий, как открыть URL-адрес с помощью браузера по умолчанию в том же окне или открыть новое окно > http://www.codeproject.com/KB/IP/urlnewwindow.aspx

person Owen    schedule 03.03.2010