Syntax: mouseUp mouseButtonNumber

Peter M. Brigham pmbrig at gmail.com
Tue Sep 27 09:18:10 EDT 2016


On Sep 22, 2016, at 4:11 PM, Roger Eller <roger.e.eller at sealedair.com> wrote:
> 
> I am trying to get a right-click to show a contextual menu on Windows.

Here is a modular way to to popup contextual menus anywhere you want. It takes a couple minutes to set up in a stack, but once you’ve done it, you have contextual menus on demand with just a line or Two of script.

— Peter

Peter M. Brigham
pmbrig at gmail.com

——————

function popChoose
   -- popChoose() is the equivalent of the "answer" command, but for a pop-up list
   -- pops up a list of options, returns the option chosen by the user,
   --    if no option chosen, exits to top
   -- you must have a button "contextualMenu"
   --    button style = menu, menumode = popup, name = "contextualMenu"
   --    the button should be placed in your mainstack or a library stack
   --    button can be made invisible when you're done, if you like
   -- the button script needs only one handler:
   --    on menupick what
   --       set the uSelection of me to what
   --    end menupick
   -- paste this popChoose handler into a suitable stack script,
   --    so it's available anywhere --
   --    could be the same stack the button is in, but that's not necessary
   -- enter the short name of the stack containing the button
   --    into the constant declaration below
   -- this all sounds complicated, but believe me, it's worth the time --
   --    once you install the handler and the button,
   --    using popup lists is dead-simple
   
   -- popChoose() can accept a cr-delimited list of choices
   --    or a comma-delimited list
   -- eg: put "parsley" & cr & "sage" & cr & "rosemary" into choiceList
   --     put popChoose(choiceList) into userChoice
   -- or: put popChoose(choice1,choice2,choice3) into userChoice
   -- or: put popChoose("parsley","sage","rosemary","-","thyme") \
      --           into userChoice
   -- if you need the line number of the chosen item, check the dialogdata
   --    after calling popChoose()
   
   constant popChooseStackName = "yourLibraryStack"
   
   repeat with n = 1 to paramcount()
      put param(n) & cr after tList
   end repeat
   delete char -1 of tList
   put empty into u
   set the uSelection of btn "contextualMenu" of stack popChooseStackName to empty
   put tList into btn "contextualMenu" of stack popChooseStackName
   popup btn "contextualMenu" of stack popChooseStackName
   put the menuhistory of btn "contextualMenu" of stack popChooseStackName \
         into lineNbr
   put the uSelection of btn "contextualMenu" of stack popChooseStackName into u
   set the uSelection of btn "contextualMenu" of stack popChooseStackName to empty
   put empty into btn "contextualMenu" of stack popChooseStackName
   -- belt and suspenders, don't leave contents hanging around
   select empty
   if u = empty then exit to top
   -- ie, mouseRelease, no action, otherwise:
   set the dialogdata to lineNbr
   return u
end popChoose






More information about the use-livecode mailing list