On Jul 4, 2011, at 5:55 PM, Nicolas Cueto wrote:

>> Didn't work well, though. The target object's id got returned, but the 
>> mouseMove wouldn't exit.


Nicolas,

The mouseMove in that old example was just to demonstrate how to invoke the 
core code, and to show that the result of executing it changes as you move the 
cursor over different objects.

Reworking the old example for your situation gives you one function to insert 
into your script.  Then invoke it whenever your script needs to know the object 
under the mouse.  There's no resource wasted for polling, so this technique can 
handle more screen objects than you'd probably ever want to use.  There's no 
wrong result when the pointer's outside an object but inside its rect, as 
happens near the corners of a rounded rect button.

Here's the function to put into the script you're developing:

   function mouseObject
      return value( "mouseObject()", long id of button "mouseObject")
   end mouseObject

Create button "mouseObject" and give it this script:

   local sMouseObject

   function mouseObject
      if line 1 of the frontscripts is not long id of me then
           put empty into sMouseObject
           insert script of me into front
           lock screen
           click at the mouseloc
           unlock screen
           remove script of me from front
           return sMouseObject
      end if
   end mouseObject

   on mousedown
   end mousedown

   on mouseUp
      put long id of the target into sMouseObject
   end mouseUp

Does that work for you?

-- Dick



_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to