' Change the 2 following constants when including this file, following your needs: %ACTIVATE_DRAGNDROP_AT_DIALOG_CREATION = %TRUE %ALLOW_ONLY_SINGLE_FILE_DRAGNDROP = %TRUE ' Then implement the following Sub: DECLARE SUB FileDropped(BYVAL myfile AS STRING) ' And finally call CB_DRAGNDROP at the very beginning of your Dialog CALLBACK GLOBAL oDropFile AS DropFileI MACRO CB_DRAGNDROP MACROTEMP i, fileCount, szFile SELECT CASE AS LONG CB.MSG CASE %WM_INITDIALOG oDropFile = CLASS "DropFileC" IF %ACTIVATE_DRAGNDROP_AT_DIALOG_CREATION THEN DragAcceptFiles CB.HNDL, %TRUE CASE %WM_DROPFILES DIM i AS LONG DIM fileCount AS LONG DIM szFile AS ASCIIZ * %MAX_PATH fileCount = DragQueryFile(CB.WPARAM, -1, BYVAL 0, 0) IF %ALLOW_ONLY_SINGLE_FILE_DRAGNDROP AND fileCount > 1 THEN MessageBox CB.HNDL,"Please drag and drop only 1 .mrw file","Error",%MB_ICONWARNING EXIT FUNCTION END IF FOR i = 0 TO fileCount - 1 DragQueryFile CB.WPARAM, i, szFile, SIZEOF(szFile) oDropFile.OnDropFile(CB.HNDL, szFile) NEXT i DragFinish CB.WPARAM CASE %WM_DESTROY IF %ACTIVATE_DRAGNDROP_AT_DIALOG_CREATION THEN DragAcceptFiles CB.HNDL, %FALSE END SELECT END MACRO CLASS DropFileC INTERFACE DropFileI : INHERIT IUNKNOWN METHOD OnDropFile(BYVAL hDlg AS DWORD, BYVAL myfile AS STRING) FileDropped myfile END METHOD END INTERFACE END CLASS