Форум: "Основная";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
ВнизКак перехватить клики в IE? Найти похожие ветки
← →
kukuikar © (2004-09-13 13:17) [0]Как перехватить клики в IE?
← →
Vitaly © (2004-09-13 13:25) [1]navigate?
← →
kukuikar © (2004-09-13 13:28) [2]чуть более пожробно, если несложно...
← →
Ihor Osov'yak © (2004-09-13 14:13) [3]2 [1] Vitaly © (13.09.04 13:25)
неа.
2 [2] kukuikar © (13.09.04 13:28)
Хотелось бы ошибиться, но судя по Вашей реплике, эта проблема для вас рановата..
Если же я ошибаюсь - то проблему можно решить тремя способами (если буквально понимать Ваш вопрос, то есть все же клики, а не попытку к навигации, как следствие кликов)...
1. Подписка на нотификацию от IHtmlDocument2, я имею ввиду HTMLDocumentEvents2::onmousedown Event, техника подробно описана в MSDN и не только
2. Можно делать подписку на нотификацию от IHTMLElement, а именно HTMLElementEvents::onclick Event, но проблема в том, что эти элементы подгружаются-выгружаются, их много, поэтому на практике этот способ мало пригоден. Реально можно попытатся поставить перехват на вызов методов соотв. интерфейса, но этот способ я не прорабатывал - посему перспективность его не буду гарантировать + это немного из области недокументированных решений. Что не всегда есть хорошо.
3. Перехват виндозных сообщений к окну, хостящему обьект, который предоставляет IWebBrowser2.. В отличие от способа 1 немного напоминает лазание в окно для случая наличия незапертой двери.
← →
kukuikar © (2004-09-13 14:44) [4]да, неправильнй вопрос - неправильный ответ.
Хочу перехватывать клики по ссылкам в ИЕ.
← →
Ihor Osov'yak © (2004-09-13 15:50) [5]есть подозрение, что Вам все же нужно перехвачивать начало навигации от кликов по ссылкам, то есть результат самих кликов, а не клики.. ..
Если это так - см. BeforeNavigation2 и NewWindow2 для DWebBrowserEvents2 + подписка на получение этой нотификации,
или как частный случай - OnBeforeNavigation2 и OnNewWindow2 для TWebBrowser. Если все же интересует нотификация от внешнего IE - то алгоритм примерно таков - по хендлу окна клиентской области ИЕ можно получить IHTMLDocument2, от него получаем IWebBrowser2, имея в руках IWebBrowser2 можно сделать подписку на нотификацию согласно DWebBrowserEvents2...
Более подробно на эту тему не пишу, так как не понятно - нужно ли Вам все же этот вариант...
Если все же клики - то см. [3]
Зы. Ссылки могут быть не только ведущие к навигации, а вызывающие всякие алерты и тп.. Для контроля за результатами кликов по таким видам ссылок - нужно обратить внимание на IDocHostUIHandler, как пример реализации - TEmbedвedWB - см. http://www.euromind.com/iedelphi
← →
Ihor Osov'yak © (2004-09-13 15:53) [6]в общем-то работа с интерфейсами IE довольно подробно описана в мсдн, я Вам набросал много "ключевых" слов - попытайтесь сделать поиск по ним. Или разберетесь сами, или сможете более внятно сформулировать вопрос.
← →
kukuikar © (2004-09-13 15:59) [7]спасибо, разобрался.
← →
ЮрийК © (2004-09-13 20:08) [8]А такой вопрос, в броузере рисуется джава-окно, в этом окне есть например линк, кнопка и т.д. Как возможно эмулировать программно клик на соответствующий элемент в окне? Возможно ли?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.039 c