More ... | 編集履歴:差分記録開始以来のファイルのドラッグ・アンド・ドロップの変更箇所
HSPウィンドウにドラッグ・アンド・ドロップされたファイルを取得します。 - [[$$toc]] - →[[HSP3・サンプルスクリプト]]に戻る ---- HSP3.0で動作確認。 * スクリプト {{{ ; <<<< HSP 3.0 サンプル >>>> ; ; ウィンドウにドロップされたファイルの名前を取得する ; #uselib "shell32.dll" #func DragAcceptFiles "DragAcceptFiles" int,int #func DragQueryFile "DragQueryFileA" int,int,int,int #func DragQueryPoint "DragQueryPoint" int,int #func DragFinish "DragFinish" int #define WM_DROPFILES 0x0233 ; WM_DROPFILES メッセージハンドラを設定 oncmd gosub *OnDropFiles, WM_DROPFILES ; ファイルをドラッグ&ドロップできるように設定 DragAcceptFiles hwnd, 1 title "ウィンドウにファイルをドロップしてください" stop *OnDropFiles ; --- ファイルがドロップされたとき --- ; ドロップされたファイルの数を取得する hdrop = wParam ; ドロップファイル情報のハンドル DragQueryFile hdrop, -1, 0, 0 ndrop = stat ; ファイルの数 ; 画面をクリア syscolor 5 : boxf syscolor 8 : pos 0,0 ; ファイル名を取得して表示 sdim filename, 260 repeat ndrop DragQueryFile hdrop, cnt, varptr(filename), 260 mes filename loop ; ドロップファイル情報をクリア (これをしないとメモリリークになる) DragFinish hdrop return }}} * 解説 + http://chokuto.ifdef.jp/urawaza/dragdrop.html - http://yokohama.cool.ne.jp/chokuto/urawaza/dragdrop.html |