Не удается обнаружить щелчок в окне браузера для запуска функции

Хотите вызвать функцию щелчком мыши в окне браузера через плагин C ++, написанный с помощью FireBreath.
Но с кодом ниже ничего не происходит при нажатии.
Получил следующий код в TestPluginAPI.h:

BEGIN_PLUGIN_EVENT_MAP()
EVENTTYPE_CASE(FB::MouseDownEvent, onMouseDown, FB::PluginWindow)
END_PLUGIN_EVENT_MAP()
virtual bool onMouseDown(FB::MouseDownEvent *evt, FB::PluginWindow *);

И этот код в testPluginAPI.cpp:

bool TestPluginAPI::onMouseDown(FB::MouseDownEvent *evt, FB::PluginWindow *)
{

if(evt->m_Btn == FB::MouseButtonEvent::MouseButton_Left)
{
fire_showcrd(FB::variant_list_of(evt->m_x)(evt->m_y));
}
return 0;
}

Fire_showcrd(...) был проверен отдельно и работает. Кажется, что-то не так с детектором щелчков, но что?

0

Решение

События PluginWindow в FireBreath применяются только к региону, в котором находится плагин, а не где-либо еще на веб-странице. Вы будете получать события только тогда, когда по самому плагину будет нажат этот метод, и если какие-либо элементы DOM будут зависать над вашим плагином (даже если ваш плагин будет отображаться впереди, потому что он находится в окне), вы можете потерять события для этого элемента.

Вы можете получить события клика для всей страницы, используя JavaScript.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector