Animationコントロールでは、テキストボックスなどでAVIファイルを指定してそれをVBAでAnimationコントロールに指定する他、エクスプローラからのドラッグ&ドロップも受け入れることができます。この場合、Openメソッドにファイルのパスを指定することは同じですが、ドロップ時のイベントでそれを処理することができます。
本項では、そのようなインタフェースを持ったAnimationコントロールの利用例を掲載します。
ポイント
- OLEDropModeプロパティ
- ドラッグ&ドロップを受け入れるためには、Animationコントロールのプロパティダイアログで「OLEDropMode」を"cc2OLEDropManual"に設定しておく必要があります。
- OLEDragDropイベント
- Animationコントロール上に何らかのデータがドロップされたときに発生するイベントです。
ドロップされるのはAnimationコントロールで再生できるファイルとは限りませんので、その場合のエラー処理も考えておく必要があります。また、Animationコントロール以外のフォーム上の領域にドロップされても動作しないので、フォームのデザイン時には注意が必要です。サンプルフォームではそれを考慮して、フォームサイズいっぱいにAnimationコントロールのサイズを調整しています。
- Data引数
- OLEDragDropイベントプロシージャには「Data」という名前のObject型の引数が用意されています。これはエクスプローラからドロップされたファイルのコレクションであり、Data.Files(1)、Data.Files(2)・・・・・という記述によってそれぞれのファイルのパスを取得することができます。
本サンプルでは、その中の最初のファイルのみ<Data.Files(1)>を再生するようにしています。
- AutoPlayプロパティ
- ドロップと同時に再生を開始したい場合には、このプロパティに"はい"(Animationコントロールのプロパティダイアログではチェックを付ける)を設定しておきます。
サンプルフォームの実行例
フォームの事前デザイン
エクスプローラからドラッグ&ドロップ
再生
サンプルDBのダウンロード
comctl_25.lzh(comctl_25.mdb)
|