I hate mousedown

Thomas McGrath III 3mcgrath at adelphia.net
Wed Apr 27 14:48:17 CDT 2005


I have a palette of 18 buttons that I want to act upon once a mouse 
down has been pressed. SO if I press the mouseDown I want to move from 
btn to btn and see a label for that btn and do some other things. But 
any messages are sent back to the original control that received the 
mouseDown including the mouseUp, mousewithin, mouseenter, mouseleave, 
mousestilldown etc. Even the mousemove gets sent.

I had to use a mouseDown with a call to another message and do a 'send 
in'. Then I had to do a 'if the mouse is up' and a 'if the mouse is 
down' in order to do what I need. But now it only works sporadically.

I just need a Down message that works when the mouse is down and KNOWS 
what btn it is over.

I used this script from Eric:
on mouseDown
   global theKeys, thecheck
   if the short name of the target is among the lines of theKeys then -- 
  if "button" is in the target then
     CheckOtherButtons -- Æ
   end if
end mouseDown
on CheckOtherButtons
   global theKeys, thecheck
   if the mouse is up then
     set the hilite of btn thecheck to false
     revspeak "mouse up" && thecheck
     put "" into thecheck
     exit CheckOtherButtons
   end if
   if thecheck is not empty then
     set the hilite of btn thecheck to false
   end if
   repeat for each line i in theKeys --with i = 1 to the number of btns
     if the mouseLoc is within the rect of btn  i  then
       set the hilite of btn i to true
       put i into thecheck
       cPreviewKey i
     end if
   end repeat
   send "CheckOtherButtons" to me in 5 milliseconds -- 50
end CheckOtherButtons

On Apr 27, 2005, at 2:55 PM, Lynch, Jonathan wrote:

> Is there a particular situation where it is not working?

Thomas J. McGrath III
1000 Killarney Dr.
Pittsburgh, PA 15234

More information about the use-livecode mailing list