_SCREEN.OLEDROPMODE = 1 *!*_SCREEN.OLEDROPEFFECTS = 4 oScrOleDrop = CREATEOBJECT("ScrOleDrop") BINDEVENT(_SCREEN,"OLEDragDrop",oScrOleDrop,"OLEDRAGDROP") BINDEVENT(_SCREEN,"OLEDragOver",oScrOleDrop,"OLEDRAGOVER") DEFINE CLASS ScrOleDrop AS Custom PROCEDURE OLEDRAGDROP LPARAMETERS oDataObject, nEffect, nButton, nShift, nXCoord, nYCoord IF oDataObject.GETFORMAT(15) && File list from Windows Explorer LOCAL laFiles(1) oDataObject.GETDATA(15,@laFiles) FOR EACH lcFile IN laFiles WAIT WINDOW lcFile && For testing... will be substituted NEXT ENDIF ENDPROC PROCEDURE OLEDRAGOVER LPARAMETERS oDataObject, nEffect, nButton, nShift, nXCoord, nYCoord, nState DO CASE CASE nState == 0 && DRAG_ENTER IF oDataObject.Getformat(15) && File list from Windows Explorer _SCREEN.OLEDropHasData = 1 && DROPHASDATA_USEFUL _SCREEN.OLEDropEffects = 4 && 1=Copy, 2=Move, 4=Link THIS.OLEDropHasData = 1 && DROPHASDATA_USEFUL THIS.OLEDropEffects = 4 && 1=Copy, 2=Move, 4=Link nEffect = 4 ENDIF CASE nState == 1 && DRAG_LEAVE *!* CASE nState == DRAG_OVER *!* WAIT WINDOW "Drag over" ENDCASE ENDPROC ENDDEFINE