Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Bind to _SCREEN's oleDragOver event
Message
From
09/02/2006 23:27:54
 
 
To
All
General information
Forum:
Visual FoxPro
Category:
Forms & Form designer
Title:
Bind to _SCREEN's oleDragOver event
Environment versions
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Network:
Windows XP
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01095369
Message ID:
01095369
Views:
48
i'm trying to bind to the _screen's oledragover event but it won't fire
(i've put debug code into the oledragover method and it isn't being entered
at all).

What am i missing?


thanks (with apologies to those who've already seen this elsewhere)

Nigel



I have...
 goOleHandler= getScreenOleHandler()
 _SCREEN.OLEDROPMODE = 1
 _SCREEN.OLEDROPEFFECTS=1
 =BINDEVENT(_SCREEN,"OLEDragDrop",goOleHandler,"oledragdrop")
 =BINDEVENT(_SCREEN,"OLEDragOver",goOleHandler,"oledragover")


function getScreenOleHandler()
RETURN CREATEOBJECT("ScreenOleDrop")


DEFINE CLASS ScreenOleDrop AS custom
 PROCEDURE OLEDRAGDROP
  LPARAMETERS oDataObject, nEffect, nButton, nShift, nXCoord, nYCoord
  TRY
   IF oDataObject.GETFORMAT(15) && list of files from explorer
    LOCAL laFiles(1)
    oDataObject.GETDATA(15,@laFiles)
    FOR EACH lcFile IN laFiles
     DO FORM IMPORT.scx WITH lcFile
    NEXT
   ENDIF
  CATCH TO oe
   =postmortem(oe)
  ENDTRY
 PROCEDURE OLEDRAGOVER
  LPARAMETERS oDataObject, nEffect, nButton, nShift, nXCoord, nYCoord, nState
  TRY
   IF oDataObject.GETFORMAT(15)
    THIS.OLEDROPHASDATA = 1
    THIS.OLEDROPEFFECTS = 4
    nEffect = 4
   ENDIF
  CATCH TO oe
   =postmortem(oe)
  ENDTRY
ENDDEFINE 
Next
Reply
Map
View

Click here to load this message in the networking platform