How to execute Ctrl+Right Click in GUIDE listbox

3 vues (au cours des 30 derniers jours)
Alborz Sakhaei
Alborz Sakhaei le 14 Nov 2016
I have a simple GUIDE with one listbox. This is what I am trying to do with the listbox:
  • If Right-Click on an item --> Add word "Right" to the selected item string and if Right-Click again remove the added "Right" from the string.
  • If Crtl+Right-Click on an item --> Add word "Ctrl+Right" to the selected item string and if Ctrl+Right-Click again remove the added "Ctrl+Right" from the string.
I'm using figure "currentkey" property to get status of "Ctrl" key (pressed or not). Everything works fine except that once I Ctrl+Right-Click the Ctrl key "pressed" status remains latched (which makes sense given that "currentkey" property does not update until another key is being pressed). The problem is that after this when I Right-Click (only), although the Ctrl key is not pressed, the Ctrl+Right-Click executes (because of latched Ctrl key pressed status) which is not as desired. So, how can I get the Ctrl key "pressed" status update in "real time" i.e. for that very moment that I'm Right-Clicking on an item in the listbox?
PS: I have also tried other figure properties such as "selectiontype" , "KeyPressFcn" , "KeyReleaseFcn" , "WindowKeyPressFcn" , "WindowKeyReleaseFcn" non of which helped me resolve the Ctrl+Righ-Click issue.
Code is attached.

Réponse acceptée

Alborz Sakhaei
Alborz Sakhaei le 14 Nov 2016
Modifié(e) : Alborz Sakhaei le 20 Avr 2017
Using "currentmodifier" instead of "currentkey" solved the problem.

Plus de réponses (0)

Catégories

En savoir plus sur Migrate GUIDE Apps dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by