2009-04-09 4 views
0

私はFlash Player(flash9.ocx)をATLウインドウに埋め込み、return/enterキーが押されたことに応答するswfに機能をコード化しています。 スタンドアロンswfプレーヤーからうまく動作しますが、埋め込みプレーヤー内から再生されるとすぐに実行されません。まるで私の窓が途中で途切れてしまったかのようです。 キー入力をプレーヤーに渡す方法はありますか?"enter key"イベントをATLウィンドウのFlash Playerに渡しますか?

参考のため、フォームには奇妙なものはありません。

ありがとうございます!

+0

ちょうど興味がありますが、あなたはATLとは何ですか? –

+0

アクティブテンプレートライブラリ http://ja.wikipedia.org/wiki/Active_Template_Library –

答えて

0

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

確かにわかりませんが、埋め込みプレーヤーには焦点がないようです。必ず、物事のフラッシュ側でカバーされ、この部分を持っている:

  • ステージは、あなたがステージにKeyboardEventのリスナーを設定します(あなたのムービーが正しく初期化されている)
  • 存在します。

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

アプリからSWF OLEにフォーカスを渡すことができるかどうかわかりませんが、いくつかのtabIndexなどがあります。

これでもうまくいかない場合は、External Interfaceを使用して、アプリからのコールバックをFlash Playerに追加してみることができます(基本的には、アプリのcallとactionscript関数)。

これは前にfscommandによって達成されましたが、外部インターフェイスは今使用するものと思われます。

幸運を祈る!

0

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

これが役に立ちます。

関連する問題