[Delphi] ファイルのドラッグ&ドロップを受け付ける
・usesに ShellAPI を追加
・Private 宣言に下記の行を追加
    procedure WMDropFiles( var Msg:TWMDropFiles ); message WM_DROPFILES;

procedure TForm1.FormCreate(Sender: TObject);
begin
    DragAcceptFiles( Handle,TRUE );     {ドラッグ受取可}
end;


procedure TForm1.WMDropFiles( var Msg:TWMDropFiles );
var
        fname: array[0..MAX_PATH] of char;
        ii, cnt: integer;
begin
    Application.BringToFront();     {アクティブウィンドウにする}

    cnt := DragQueryFile( msg.Drop,$FFFFFFFF,Nil,0 );
    for ii:=0 to cnt-1 do begin
        // ファイル名を得る
        DragQueryFile( Msg.Drop,ii,fname,MAX_PATH );
        ShowMessage( StrPas(@fname) );
    end;
    DragFinish( Msg.Drop );
end;
      

・インターネット上の情報や書籍の内容を一部参考に作成してます。
・コーディング内容は著作権フリーですが、使用する場合は自己責任にてお願いします。
・記述内容に問題点や改善点がありましたらこちらまでお願いします。

サンプル集の一覧に戻る