将“回车键”事件传递给ATL窗口中的Flash播放器?

时间:2009-04-09 14:31:04

标签: c++ flash atl

我有一个嵌入在ATL窗口中的Flash播放器(flash9.ocx),并在swf中编码功能以响应按下的返回/回车键。 从独立的swf播放器中工作得很好但是一旦它从我的嵌入式播放器中播放它就不会执行。这就好像我的窗户不知何故妨碍了? 有没有办法将按键传递给播放器?

仅供参考,表格上没有任何奇怪的内容。

谢谢!

2 个答案:

答案 0 :(得分:0)

我不是VC ++开发人员,但我经常使用Flash。

虽然不确定,但似乎嵌入式播放器没有焦点。确保你已经在Flash方面覆盖了这部分内容:

  • 舞台存在(您的电影已正确初始化)
  • 将KeyboardEvent侦听器设置为舞台。

您可以使用FocusManager确保您获得焦点。

我不知道你是否可以通过某些tabIndex或其他东西将焦点从你的应用程序传递给SWF OLE。

如果仍然不起作用,您可以尝试使用External Interface将应用程序的回调添加到Flash播放器(基本上是应用程序中的call和actionscript函数)。

这是通过fscommand之前实现的,但外部接口似乎是现在可以使用的东西。

祝你好运!

答案 1 :(得分:0)

我不是经常使用闪存,但我是一名C ++程序员。 =) 我们来看看能否帮到你。 我相信你的应用程序正在捕捉你的flash电影之前的所有事件。我不知道是否有更好的方法可以执行此操作,但您可以在窗体上侦听任何键盘事件,并使用ActiveX组件的SetVariable在Flash中设置变量。然后,在Flash Movie中,您可以设置监视此变量的任何更改并触发您的Enter事件。

希望这有帮助。