Flash プレーヤー (flash9.ocx) が ATL ウィンドウに埋め込まれており、return/enter キーが押されたことに応答する機能を swf にコーディングしました。スタンドアロンの swf プレーヤーからは正常に動作しますが、組み込みプレーヤー内から再生するとすぐに実行されません。どうやら私の窓が邪魔をしているようですか?キープレスをプレーヤーに渡す方法はありますか?
参考までに、フォームに変なところはありません。
ありがとう!
私はフラッシュをあまり使用しませんが、C++ プログラマーです。=) 私があなたを助けることができるか見てみましょう。あなたのアプリケーションは、フラッシュ ムービーの前にすべてのイベントをキャッチしていると思います。これを行うためのより良い方法があるかどうかはわかりませんが、フォームでキーボード イベントをリッスンし、ActiveX コンポーネントの SetVariable を使用して Flash 内に変数を設定することができます。次に、Flash ムービーで、この変数の変更を監視し、Enter イベントをトリガーできます。
お役に立てれば。
私は VC++ 開発者ではありませんが、Flash をよく使用します。
確かではありませんが、埋め込みプレーヤーにフォーカスがないようです。この部分が Flash 側でカバーされていることを確認してください。
FocusManagerを使用して、フォーカスがあることを確認できます。
tabIndex などを介してアプリから SWF OLE にフォーカスを渡すことができるかどうかはわかりません。
それでもうまくいかない場合は、External Interfaceを使用して、アプリから Flash Player へのコールバックを追加してみてください (基本的に、アプリからの呼び出しと actionscript 関数)。
これは以前はfscommandによって実現されていましたが、現在は外部インターフェイスが使用されるようです。
幸運を!