HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0315
kaiファイルのドラッグ&ドロップについて4解決


kai

リンク

2014/3/15(Sat) 12:37:49|NO.60665

ファイルをD&Dされたらそのファイルを削除するというスクリプトを組みたいです。

(misc/dragdrop.hsp)を見たり、ググったりしてもわかりません。

ちなみに、作ってみたスクリプトは

#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 oncmd gosub *OnDropFiles, WM_DROPFILES DragAcceptFiles hwnd, 1 title "Kai Delete" screen mes "ウィンドウにファイルをドロップしてください。" stop *OnDropFiles hdrop = wParam DragAcceptFile hdrop, -1, 0, 0 ndrop = stat syscolor 5 : boxf syscolor 8 : pos 0,0 sdim filename, 260 repeat ndrop DragAcceptFile hdrop, cnt, varptr(filename), 260 dialog ""+filename+"\nを削除しますか?",2, if stat = 6 { goto *sakujo } if stat = 7 { goto *main } loop DragFinish hdrop return *sakujo delete filepath end
ですが、これを実行しても、D&Dできなくなります。

なぜでしょうか?

もしよろしければ、サンプルなども教えてください。

お願いします。



この記事に返信する


暇人

リンク

2014/3/15(Sat) 14:56:15|NO.60666

oncmdはウィンドウに設定されるから
screen命令でoncmdが消されてるだけじゃ?



fortunehill

リンク

2014/3/15(Sat) 14:58:31|NO.60667

/*ご参考*/

#include "Shell32.as" oncmd gosub *label,$233 ;WM_DROPFILES DragAcceptFiles hwnd,1 stop *label nn = 0,0 DragQueryFileA wparam,-1,0,0 :ii = stat if (ii > 0) {sdim ss,512 :ss = "" :DragQueryPoint wparam,varptr(nn) sdim rr,512 :rr = ""+ii+","+nn+","+nn(1)+"\n" repeat ii :DragQueryFileA wparam,cnt,varptr(ss),512 :rr += ss+"\n" :loop} DragFinish wparam mes rr return



kai

リンク

2014/3/15(Sat) 15:24:34|NO.60671

screenを消してみたら、

#HSP script preprocessor ver3.4beta3 / onion software 1997-2014(c) #Use file [hspdef.as] #HSP code generator ver3.4beta3 / onion software 1997-2014(c) KDs.hsp(15) : error 2 : 文法が間違っています (15行目) --> dragacceptfile hdrop, -1, 0, 0
と怒られてしまいました・・・

どうすればいいですか?



kai

リンク

2014/3/15(Sat) 15:26:30|NO.60672

文法の件、事故解決しました。

ありがとうございました!!



ONION software Copyright 1997-2023(c) All rights reserved.