Clicking on linked text sends a mouseLeave message?

Jim Hurley jhurley at infostations.com
Fri Jul 25 19:00:02 EDT 2003


>
>Message: 15
>Date: Fri, 25 Jul 2003 21:18:02 +0200
>From: Wilhelm Sanke <sanke at hrz.uni-kassel.de>
>To: use-revolution at lists.runrev.com
>Subject: Re: Clicking on linked text sends a mouseLeave message?
>Reply-To: use-revolution at lists.runrev.com
>
>On Thu, 24 Jul 2003 Jim Hurley <jhurley at infostations.com> wrote:



>(snip)



>there is still another simple solution. Leave the mouseup handler of
>your first script (of Thursday) exactly as it is. Delete the mouseleave
>handler.
>Place a transparent field on top of your "Help" field. Put the following
>script into the transparent field and put the mouseleave handler here,
>too:
>
>"on mouseUp
>   put the mouseloc into MLoc
>   lock screen
>   hide me
>   click at MLoc
>   show me
>   unlock screen
>end mouseUp
>
>on mouseLeave
>   set the points of graphic "arrow" to ""
>end mouseLeave"
>
>Using "lock screen" could be also left out, it only prevents the
>linktext to change colors.
>
>I have used the technique of clicking at a transparent field and then
>hiding it for a moment on several occassions, last time in a game stack
>I sent to User Contributions three weeks ago, but which has not yet made
>it to the website.
>
>Regards,
>
>Wilhelm Sanke


Wilhelm,

Thanks for the suggestion. Clever solution.

In case you didn't catch my response to Jacqueline, it turns out that 
there is an even simpler solution in my particular problem. Just 
change the mouseLeave from:

on mouseLeave
  set the points of graphic "arrow" to ""
end mouseLeave

To the following:

on mouseLeave
     if the mouseLoc is not within the rect of me then set the points 
of graphic "arrow" to ""
end mouseLeave

This would appear at first to be redundant. That is, if there is a 
mouseLeave message, the mouse would not be with the rectangle. But, 
as Jacqueline pointed out, it can be in the rect and yet leave when 
the arrow graphic is created at the mouseLoc and the mouse gets a 
mouseLeave message.  Apparently, however, it (the engine) still 
thinks the mouse is within the field rectangle and so doesn't execute 
the conditional.

So this handler has the desired effect: It sets the graphic points to 
empty only when the mouse actually leaves the field rectangle.

Jim



More information about the use-livecode mailing list