Ich habe ein Programm, in C++ geschrieben, mit Qt 5.5.1 (kann nicht zu einer anderen Version wechseln), läuft unter Windows (7 oder 10, spielt keine Rolle) .Wie mouseWheelEvent an SWF gesendet wird, in QWebView geladen
Also habe ich etwas FlashWidget, von QWebView subclassed. Es lädt HTML-Datei, analysiert sie und ersetzt% 1 mit entsprechendem Pfad zu * .swf
<object
class="flashPlayer"
width=90%
height=100%
type="application/x-shockwave-flash"
id="bridgemovie"
data="%1" >
<param name="allowScriptAccess" value="always"/>
</object>
SWF-Datei hat Ereignis-Listener auf Mausereignisse: die Maus nach unten, nach oben und Mausrad
addEventListener(MouseEvent.MOUSE_WHEEL, zoom); //"zoom" is just some internal function
addEventListener(MouseEvent.MOUSE_DOWN, mouseDown1);
addEventListener(MouseEvent.MOUSE_UP, mouseReleased);
Problem: Ziehen und Klicken funktioniert ziemlich gut, aber geladene SWF empfängt keine Wheel-Events. Ich kann SWF-Code, nur C++ - und HTML-Teile nicht ändern. Also, wie kann ich mouseWheel Event nativ von JS (oder vielleicht QWebView, wenn erlaubt) an die geladene SWF-Datei übergeben?
P.S. Ich habe versucht, SWF mit QAxWidget zu laden, und WheelEvent wird empfangen, aber es gibt einige Rendering-Probleme, also versuche ich, die Lösung mit QWebView zu reparieren.