Как отправить события мыши во встроенный флеш-плеер в qaxwidget

У меня есть QAxWidget, который встраивает Flash Player и загружает SWF. Я не хочу использовать виджет, но вместо этого я хочу визуализировать виджет в QImage, а затем использовать это изображение в качестве текстуры в моем узле OpenSceneGraph. Пока все в порядке. Но так как виджет не виден, мне нужно получить события перемещения / нажатия / отпускания мыши из моего osgView, вычислить соответствующую позицию на моем узле и отправить события во флэш-плеер, чтобы заставить действия actioncript мыши работать. Расчетная часть — завтрашняя проблема. Но до сих пор я не мог отправить игроку никакого пользовательского события мыши. У кого-нибудь есть мнение?

Вот пример кода,

BFlashWidget::BFlashWidget(QWidget *parent)
: QAxWidget(parent)
{
QSize imgSize(800,600);
setMinimumSize(imgSize);

setMouseTracking(true);

mQtImg = QImage(imgSize, QImage::Format_RGBA8888);

setControl(QString::fromUtf8("{d27cdb6e-ae6d-11cf-96b8-444553540000}"));
dynamicCall("LoadMovie(long, string)", 0,
QDir::currentPath() + "//deneme.swf");
activateWindow();
}

BFlashWidget::~BFlashWidget()
{

}

QImage BFlashWidget::getImage()
{
QPainter painter(&mQtImg);
render(&painter);

return mQtImg;
}

void BFlashWidget::simulateMouseMove(QMouseEvent *e)
{
QApplication::sendEvent(this, e);
QApplication::processEvents();
}

void BFlashWidget::simulateMousePress(QMouseEvent *e)
{
QApplication::sendEvent(this, e);
QApplication::processEvents();
}

void BFlashWidget::simulateMouseRelease(QMouseEvent *e)
{
QApplication::sendEvent(this, e);
QApplication::processEvents();
}

игрок ничего не делает, когда я вызываю эти методы simulateMouseXXXXX

0

Решение

Задача ещё не решена.

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


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