I hate mousedown

Lynch, Jonathan bnz2 at cdc.gov
Thu Apr 28 14:55:18 EDT 2005


Indeed...

If you put something into the dragdata, then yes, drag messages will be sent.

If what you want is for objects under a mouse to receive a message when the mouse enters the screen area of that message, while the mousebutton is currently being pressed, then that is the way to do it.

Mouseenter does not work while the mouse button is down. Dragenter works, but only if something is being dragged. So - on mousedown for a given button, you put something into the dragdata - then something is being dragged and a dragenter message will be sent when the mouse enters another object.

-----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: Thursday, April 28, 2005 2:37 PM
To: How to use Revolution
Subject: Re: I hate mousedown

Jonathan,

I did not understand this because I am not dragging anything. Are you 
saying that drag messages will be sent even if I am not dragging 
something?

If so than I say HHMMM - didn't know that one....

Thanks

Tom

On Apr 27, 2005, at 3:58 PM, Lynch, Jonathan wrote:

>> 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
>
>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> http://lists.runrev.com/mailman/listinfo/use-revolution
>

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