Ken Ray wrote:


Jim,

How about this (answers the clicked field, but "cancels" if the next object
clicked is not a field):

-- script of palette button:

on mouseUp
  global gClickedField
  put "" into gClickedField
  answer "Click on the application field."
  insert script of btn "clickTrapper" into front
  wait until gClickedField is not empty
  if gClickedField <> "***CANCEL***" then
    answer "The field clicked on was:" && gClickedField
  else
    -- something else was clicked on
    -- do what you want in this case
  end if
end mouseUp

-- script of btn "clickTrapper"

on mouseUp
  global gClickedField
  if word 1 of the target is "field" then
    put the short name of the target into gClickedField
  else
    put "***CANCEL***" into gClickedField
  end if
  remove script of me from front
end mouseUp


HTH,


Ken Ray


Ken,

Thanks for the suggestion. I tried it but got stuck in an endless wait. I don't see why that should have happened.

I put a "beep" into the first line of the second "mouseUp" handler, but I never heard a peep (beep) from it.

So why doesn't that front script receive the message? This is new territory for me.

Jim



--------------------------------------
Richard Gaskin wrote:


I haven't seen the code so I'm just guessing here, but would it help to add something like:

set the defaultStack to the topStack

--
  Richard Gaskin
  Fourth World Media Corporation
  ___________________________________________________________
  [EMAIL PROTECTED]       http://www.FourthWorld.com

Richard,


Good thought! I had hopes for this suggestion. But once again mouseControl came up empty. That is the handler:

on mouseup
  set the defaultStack to the topstack
  answer "Click on the field to use." with OK
   set the defaultStack to the topstack
  wait until the mouseclick
  set the defaultStack to the topstack
  put the mouseControl into tFieldName
end  mouseUP


reveals an empty "theFieldName" . (As you see, I left no stone unturned in setting the default stack. I tried various and sundry combinations of the above..)


I do have a work-around that works--As W. C. Fields said, when he bumped into Mae West: "Pardon my redundancy."

on mouseup
  answer "Click on the field to use." with "OK" or "Cancel"
  if it is "Cancel" then exit mouseUP
  wait until the mouseclick
  put the clickloc into tLoc
  put the clickstack into tStackName
  put the number of fields in tStackName into tNum
  repeat with i = 1 to tNum
    if tloc is within the rect of field i of tStackName then
      put the  name of field i of  tStackName into tClickField
      exit repeat
    end if
  end repeat
--and the rest is bookkeeping.

end mouseup
_______________________________________________
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to