声明 API
// 拖动文件
FUNCTION int DragQueryFile(long hDrop, int iFile, REF string szFileName,int cb) LIBRARY "shell32.dll"
SUBROUTINE DragAcceptFiles(long l_hWnd,boolean fAccept) LIBRARY "shell32.dll"
SUBROUTINE DragFinish(long hDrop) LIBRARY "shell32.dll"
在窗口的 open 中
// 设置本窗口为可拖动
DragAcceptFiles(handle(this), true)
事件 id : pbm_dropfiles
String ls_path = Space(128)
Int i
int li_files
Ulong hDrop
lb_file.reset()
hDrop = Message.WordParm
li_files = DragQueryFile(hDrop, -1, ls_path, 127) - 1
FOR i = 0 TO li_files
DragQueryFile(hDrop, i, ls_path, 127)
IF lb_path.FindItem(ls_path,0) <> -1 then
MessageBox("Error in adding File", ls_path + '~r~n~r~n' + &
"File already exist !")
ELSE
lb_path.AddItem(ls_path)
END IF
NEXT
DragFinish(hDrop)
// 拖动文件
FUNCTION int DragQueryFile(long hDrop, int iFile, REF string szFileName,int cb) LIBRARY "shell32.dll"
SUBROUTINE DragAcceptFiles(long l_hWnd,boolean fAccept) LIBRARY "shell32.dll"
SUBROUTINE DragFinish(long hDrop) LIBRARY "shell32.dll"
在窗口的 open 中
// 设置本窗口为可拖动
DragAcceptFiles(handle(this), true)
事件 id : pbm_dropfiles
String ls_path = Space(128)
Int i
int li_files
Ulong hDrop
lb_file.reset()
hDrop = Message.WordParm
li_files = DragQueryFile(hDrop, -1, ls_path, 127) - 1
FOR i = 0 TO li_files
DragQueryFile(hDrop, i, ls_path, 127)
IF lb_path.FindItem(ls_path,0) <> -1 then
MessageBox("Error in adding File", ls_path + '~r~n~r~n' + &
"File already exist !")
ELSE
lb_path.AddItem(ls_path)
END IF
NEXT
DragFinish(hDrop)