Drag and Drop
ambassador at fourthworld.com
Tue Feb 8 18:55:07 EST 2011
> Le 8 févr. 2011 à 15:56, Richard Gaskin a écrit :
>> The only problem I can find with this approach is that it "snaps back" the dragImage to the source, even though the allowDrop has been set to true.
>> if anyone here knows a reliable way to prevent that I'm be most grateful.
> Hi Richard,
> I add one more line in your mousedown script.
> See below
> Please, let me know if it works.
> on mouseDown
> put the long id of me into tObj
> export snapshot from tObj to tVar as PNG
> set the width of img 1 to the width of tObj
> set the height of img 1 to the height of tOBj
> set the visible of img 1 to false
> put tVar into img 1
> end mouseDown
Unfortunately setting the image visibility to false has no effect. I had
it visible only because it's a demo and it's fun to watch the image
change; I have production code with such images false and still get the
RunRev's Ben Beaumont offered this tip on the dev list which works a
treat, also noting that this bug will be fixed in v4.6:
Firstly, we've tracked down the problem and fixed it for
the next release. In the meantime and for those using
older version of LC here is a workaround:
remove script of btn "ObjectDragFrontScript" from front
put gObjectDragInfoA["stack"] into tDestStack
send "doDragEnd tDestStack" to me in 0 millisecs
on doDragEnd tDestStack
if tDestStack <> empty then
put gObjectDragInfoA["loc"] into tLoc
set the defaultStack to tDestStack
set the properties of the templateButton to \
the properties of me
set the loc of last control to tLoc
select last control
The problem occurs because creating a button and setting the
loc causes (at some point) the dragAction global property to
be reset, which is then what the engine is returning to the
OS - hence the 'drag didn't succeed' snap-back.
The engine should really return the value of 'dragAction' at the
point the drop occured (before any messages are sent), rather
than after the drop had been processed. This is the underlying bug.
LiveCode training and consulting: http://www.fourthworld.com
Webzine for LiveCode developers: http://www.LiveCodeJournal.com
LiveCode Journal blog: http://LiveCodejournal.com/blog.irv
More information about the Use-livecode