System4.0 Tips

 

System4.0でDrag&Drop

 

 

ファイルのDrag&Dropです。

 スプライトのドラッグ処理とは違います。
スプライトのドラッグ処理は、マニュアル[ Sys42SDK_20041224\熟練者向けセット\マニュアル\Tutorial\html\tutorial022.html ] を参照してください。

 

 System4.0にファイルをD&Dする必要は、きっと、まったく無いと思いますが、「S WindowSystem」に載せたくなったので作ってみました。

 

Drag&Drop HLL Library をダウンロード

HLL追加方法は説明しません。


使い方

 まずは、初期化時に

   DragAndDrop.Init();

 を、呼び出します。
無くても大丈夫ですが、他のHLLを追加したときにバグが出る可能性があります。

 

 D&Dが必要な場所で、以下のようにします。
 

   DragAndDrop.Start();

を、呼び出して、System4.0ウィンドウへのD&Dを許可し、

   bool res = DragAndDrop.GetFiles( aFiles )

で、取得します。
戻り値: ファイルがD&Dされたかどうか
引数 : 文字列配列。戻ったときは、ファイルパスリスト。(つまり複数ファイル対応)

   DragAndDrop.Stop();

で、通常の状態に戻してください。

 

例です。

       array@string aFiles;
       DragAndDrop.Start();
       while(true){
              // なんらかのファイルを得るまでループ
              if(DragAndDrop.GetFiles(aFiles)){
                     for(i=0;i<aFiles.Numof();i++){
                            // ファイルリストをIDEアウトプット
                            system.Output(aFiles[i]+"\n");
                            }
                     break;
              }
              SACT_UPDATE();
       }
       DragAndDrop.Stop();

 


どうやってるの?

 ウィンドウメッセージを横取りして、D&Dがあるのを監視します。

 

 感想

   こんなに簡単にウィンドウメッセージって横取りできるものなんですね。
  mciPlayを作り直そうかな。