VisualStudio 2008のWindowsフォームアプリケーション(C++/CLR)にて、
Adobe Flashをロード+再生する方法を記載します。
続きを読む
何かとムズカシイかと思ったのですが、VisualStudio6の時代と同じでした。
ActiveXコントロールとしてフォームに貼り付けるだけです。
まずプロジェクトの作成から。
[ ファイル(F) > 新しいプロジェクト(P) > Visual C++ > Windows フォーム アプリケーション]
続いてツールボックスにCOMコンポーネントを追加します。
[ツールボックス] の適当な場所を右クリックして [アイテムの選択(I)...] をクリック。
このとき何故かバカみたいに時間がかかりますが、死んでいるわけではありません。
[COMコンポーネント] タブから [Shockwave Flash Object] を選択します。
当然Adobe Flash Playerがインストールされていないとこの項目はありません。
フォームに [Shockwave Flash Object] を貼り付けて終了。
Visual Studio 2008の実行環境用意しました。
こちらから [ダウンロード] できます。
実行コードを下記します。
private: System::Void 開くOToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { // ====== ファイルオープンダイアログのインスタンスを生成 System::Windows::Forms::OpenFileDialog myDialog; // ===================================================== // ダイアログの設定 // ===================================================== // ====== ファイル複数選択禁止 myDialog.Multiselect=false; // ====== 選択できるファイル拡張子の設定(swfとALL) myDialog.Filter = "swf files (*.swf)|*.swf|All files (*.*)|*.*"; // ====== 開いたディレクトリを覚えるように設定(次回同じディレクトリから開く) myDialog.RestoreDirectory = true; // ====== タイトル設定 myDialog.Title = "Flashファイルの選択"; // ===================================================== // 正常に選択されたら、Flashをロードして再生 // ===================================================== if( myDialog.ShowDialog( ) == System::Windows::Forms::DialogResult::OK ){ axShockwaveFlash1->LoadMovie( 0, myDialog.FileName ); } }
サンプルFlashには http://www.mdn.co.jp/di/webcreators を使用させていただいています。