Hi guys, I have been looking for a while but cant seem to find an answer. If i use something like:
waitforbutttonpress
can I return the button which was pressed? for example:
button = waitforbuttonpress
if button == rightMouse
methodOne
elseif button == leftMouse
methodTwo
else
break
end

1 commentaire

Sergey Lopatnikov
Sergey Lopatnikov le 19 Fév 2017
It will not work. You cannot exit from loop this way. You only can start loop as one of the methods, However, if you start loop[ you will not be able to stop evaluation by mouse click because decision is outside the loop.

Connectez-vous pour commenter.

 Réponse acceptée

José-Luis
José-Luis le 26 Oct 2012

0 votes

f = figure(1);
click_type=get(f,'SelectionType');
if strcmp(click_type,'normal') %right click
%Do some stuff
elseif strcmp(click_type,'alt') %left click
%Do some other stuff
end

4 commentaires

Tim Mottram
Tim Mottram le 26 Oct 2012
Modifié(e) : Tim Mottram le 26 Oct 2012
Ok, this looks like the sort of thing I need. Can you tell me if I need to use the figure as a reference? I.E does the click always have to be on that figure? Can I use some sort of general:
button = ButtonDown
instead?
Also, Will the code pause on the click_type statement or do I write:
f = figure(1);
waitforbuttonpress
click_type = get(f,'SelectionType');
??
José-Luis
José-Luis le 26 Oct 2012
As far as I know, the click needs to be in the figure axes.
Tim Mottram
Tim Mottram le 26 Oct 2012
Answered my own question. if you want it to wait you need waitforbuttonpress.
Tim Mottram
Tim Mottram le 26 Oct 2012
This worked perfectly thanks for all your help :)

Connectez-vous pour commenter.

Plus de réponses (1)

Sachin Ganjare
Sachin Ganjare le 26 Oct 2012

0 votes

1 commentaire

Tim Mottram
Tim Mottram le 26 Oct 2012
Thanks for the help, I'm not using a GUI but I'll have a look and see if I can modify something :).

Connectez-vous pour commenter.

Catégories

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by