[対象バージョン]

Delphi 2.0J 3.0J

[説明]

エクスプローラなどの他のアプリケーションから自分のアプリケーションにファイルをドラッグアンドドロップで受け取る方法です。

[対処法]

  1. Usesに ShellAPI を追加する。
  2. フォームのTYPE中のPrivate宣言に以下の2行を追加する。
    { Private 宣言 }
    Procedure WMDropFiles(var Msg: TWMDropFiles);
    message WM_DROPFILES;

  3. フォームのCreateイベントに以下の記述を追加する。
    DragAcceptFiles(Handle,True);

  4. 最後に以下の手続きを実現部に追加する。
    この場合変数 FileName にドロップされたファイル名が代入されます。
    procedure TfrmMain.WMDropFiles(var Msg:TWMDropFiles);
    var
      FileName : array [0..255] of Char;
    begin
      DragQueryFile(Msg.Drop,0,FileName,SizeOf(FileName));
      { ドロップ時の処理 }
      DragFinish(Msg.Drop);
    end;

[サンプルソース]

 

 

 

FAQ目次に戻る