Установить фокус на объект Flash, размещенный в элементе управления WebBrowser - PullRequest
0 голосов
/ 05 июля 2010

Я искал здесь и в Google, но не могу найти ответ на этот вопрос. Наше приложение использует элемент управления WebBrowser для отображения Flash-объектов SWF для пользователей. Это хорошо работает с мышью, но некоторые развертывания имеют только пульт дистанционного управления с клавишами со стрелками. Проблема в том, что когда Flash-объект загружается

WebBrowser.Navigate("c:\mypath\myflashfile.swf");

объект Flash не имеет фокуса, поэтому клавиши со стрелками не работают. Нажатие клавиши Tab на клавиатуре позволяет сфокусироваться на объекте Flash, а затем клавиши работают, но это не будет работать с пультом дистанционного управления. Кто-нибудь есть идеи о том, как заставить файл Flash принимать управление клавишами со стрелками после его загрузки?

Спасибо.

1 Ответ

0 голосов
/ 05 июля 2010

Я совсем не знаю Flash, но я предполагаю, что в Javascript есть какое-то событие, которое вы можете обработать, которое указывает, что объект Flash загружен. Например, в Silverlight вы можете предоставить «обратный вызов» JavaScript, который вызывается после загрузки элемента управления Silverlight.

Вот код из моего блога , который показывает, что я имею в виду в случае Silverlight, надеюсь, вы сможете перевести это на эквивалент Flash.

1 - присвойте элементу на веб-странице идентификатор

2 - Передайте параметр «onLoad» в приложении Silverlight, назначив функцию JavaScript, которая будет фокусироваться на приложении в браузере.

<object id="silverlightControl" data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
  <param name="source" value="ClientBin/DragSnapDemo.xap"/>
  <param name="onError" value="onSilverlightError" />
  <param name="onLoad" value="silverlightControlHost_Load" />
  <param name="background" value="white" />
  <param name="minRuntimeVersion" value="3.0.40624.0" />
  <param name="autoUpgrade" value="true" />
  <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40624.0" style="text-decoration:none">
    <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style:none"/>
  </a>
</object>

3. Напишите, наконец, функцию JavaScript, которая вызывается при загрузке приложения Silverlight

function silverlightControlHost_Load(sender, args) 
{  
  var control = document.getElementById("silverlightControl");  
  control.focus();
}

Обновление: найдены следующие ссылки, которые могут быть полезны

http://kb2.adobe.com/cps/155/tn_15586.html

http://www.actionscript.org/forums/archive/index.php3/t-120307.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...