09-08-2008, 06:32 PM
Use TvAdd instead of LB_Add.
Function dlg_tv_drop_files
Function dlg_tv_drop_files
\Dialog_Editor
function# hDlg message wParam lParam
if(hDlg) goto messages
if(!ShowDialog("dlg_tv_drop_files" &dlg_tv_drop_files)) ret
;BEGIN DIALOG
;0 "" 0x90C80A44 0x100 0 0 223 135 "Dialog"
;1 Button 0x54030001 0x4 120 116 48 14 "OK"
;2 Button 0x54030000 0x4 170 116 48 14 "Cancel"
;3 SysTreeView32 0x54030000 0x0 0 0 116 110 ""
;END DIALOG
;DIALOG EDITOR: "" 0x2030002 "" "" ""
ret
;messages
sel message
,case WM_INITDIALOG
,QmRegisterDropTarget(id(3 hDlg) hDlg 16)
,case WM_DESTROY
,case WM_COMMAND goto messages2
,case WM_QM_DRAGDROP
,QMDRAGDROPINFO& di=+lParam
,int htv=id(3 hDlg)
,str s
,foreach s di.files
,,if(dir(s 1)) ;;folder
,,,s+"\*"
,,,Dir d
,,,foreach(d s FE_Dir)
,,,,str sPath=d.FileName(1)
,,,,TvAdd(htv 0 sPath)
,,else ;;file
,,,TvAdd(htv 0 s)
ret
;messages2
sel wParam
,case IDOK
,case IDCANCEL
ret 1