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

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

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

>> 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