I hate mousedown

Lynch, Jonathan bnz2 at cdc.gov
Wed Apr 27 15:58:45 EDT 2005


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

I believe you can accomplish this with setting the dragdata on mousedown, and using dragenter after that: 

On MouseDown
  Set the dragdata to "Yo Mama"
End mousedown

In the group, card, or stack script:

On DragEnter
  If the dragdata = "Yo Mama" then
    Set the label of the target to "Greetings"
  End if
End dragenter

I will play with this approach in a stack, and see if it works. A dragenter message is only sent of the dragdata is not empty.

-----Original Message-----
From: use-revolution-bounces at lists.runrev.com [mailto:use-revolution-bounces at lists.runrev.com] On Behalf Of Thomas McGrath III
Sent: Wednesday, April 27, 2005 3:48 PM
To: How to use Revolution
Subject: Re: I hate mousedown

Jonathan,

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
SCS
1000 Killarney Dr.
Pittsburgh, PA 15234
412-885-8541

_______________________________________________
use-revolution mailing list
use-revolution at lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution




More information about the use-livecode mailing list