0

Flash プレーヤー (flash9.ocx) が ATL ウィンドウに埋め込まれており、return/enter キーが押されたことに応答する機能を swf にコーディングしました。スタンドアロンの swf プレーヤーからは正常に動作しますが、組み込みプレーヤー内から再生するとすぐに実行されません。どうやら私の窓が邪魔をしているようですか?キープレスをプレーヤーに渡す方法はありますか?

参考までに、フォームに変なところはありません。

ありがとう!

4

2 に答える 2

0

私はフラッシュをあまり使用しませんが、C++ プログラマーです。=) 私があなたを助けることができるか見てみましょう。あなたのアプリケーションは、フラッシュ ムービーの前にすべてのイベントをキャッチしていると思います。これを行うためのより良い方法があるかどうかはわかりませんが、フォームでキーボード イベントをリッスンし、ActiveX コンポーネントの SetVariable を使用して Flash 内に変数を設定することができます。次に、Flash ムービーで、この変数の変更を監視し、Enter イベントをトリガーできます。

お役に立てれば。

于 2010-06-12T20:35:12.050 に答える
0

私は VC++ 開発者ではありませんが、Flash をよく使用します。

確かではありませんが、埋め込みプレーヤーにフォーカスがないようです。この部分が Flash 側でカバーされていることを確認してください。

  • ステージが存在します(ムービーは適切に初期化されています)
  • ステージに KeyboardEvent リスナーを設定します。

FocusManagerを使用して、フォーカスがあることを確認できます。

tabIndex などを介してアプリから SWF OLE にフォーカスを渡すことができるかどうかはわかりません。

それでもうまくいかない場合は、External Interfaceを使用して、アプリから Flash Player へのコールバックを追加してみてください (基本的に、アプリからの呼び出しと actionscript 関数)。

これは以前はfscommandによって実現されていましたが、現在は外部インターフェイスが使用されるようです。

幸運を!

于 2009-04-12T20:47:43.330 に答える