target(), mouseControl(), etc. when mouse button is down

Trevor DeVore lists at mangomultimedia.com
Fri Oct 17 12:51:56 EDT 2003


On Friday, October 17, 2003, at 08:57  AM, opus.species at wanadoo.fr 
wrote:

>
>> What is the best way to find out which control the mouse is over when
>> the mouse button is depressed?  Functions such as target() within a
>> mouseMove handler and mouseControl() placed in the group script always
>> return the control the user clicked on rather than the control the
>> mouse is currently over.
>>
>> I have a scenario where I have a series of buttons grouped together.
>> If a user clicks on one of the buttons and moves over another button
>> with the mouse button still depressed then I want to shift focus to
>> that button.  I haven't fond an efficient way of shifting focus since
>> it is difficult to find out when the user moves over different 
>> controls
>> with the mouse button down.
> In the mouseDown handler set the dradData to something
>
> The dragEnter message is send to all controls under the mouse as long 
> as the mouse is down.
>
> I guess that this trick do the job even if you dont intend to drag and 
> drop

This does work in that if you put the following in dragEnter:

on dragEnter
put id of target()
end dragEnter

the id of the controls is displayed properly if in the mousedown 
handler you put:

on mouseDown
set dragData["text"] to "active"
end mouseDown

My buttons control a QTVR movie and there seems to be a pause where the 
watch cursor is displayed when setting the dragData.  If I could find a 
workaround for that then this would work perfectly.  It may be that 
there is some oddities occuring with other code in the script.

-- 
Trevor DeVore
Blue Mango Multimedia



More information about the Use-livecode mailing list