Hello, is it somehow possible to distinguish which mouse button was pressed, left or right?
Thank you

 Respuesta aceptada

Matt Tearle
Matt Tearle el 10 de Jun. de 2011

3 votos

The figure has a property 'SelectionType'. This will have the value 'normal' for a left-click, and 'alt' for a right-click.
For more, see the doc: MATLAB -> User's Guide -> HG Property Browser -> Figure -> SelectionType
Example:
function mybttnfcn(h,~)
hf = get(h,'parent');
b = get(hf,'selectiontype');
xy = get(gca,'CurrentPoint');
if strcmpi(b,'normal')
text(xy(1,1),xy(1,2),'Left click')
elseif strcmpi(b,'alt')
text(xy(1,1),xy(1,2),'Right click')
else
text(xy(1,1),xy(1,2),'Careful there, crazy man!')
end
Then try something like:
figure
plot(rand(5))
set(gca,'buttondownfcn',@mybttnfcn)

2 comentarios

tomas
tomas el 10 de Jun. de 2011
Thank you, that's what I need.
roudan
roudan el 9 de Nov. de 2017
wow, Matt Tearle, that is really helpful to me. I google it and find your post. Thanks
But I like to change 2D line plot to be 2D point plot and assign a value for each individual point, then extract the value for each point when clicking on the point, how to do that? I don't want to extract XY value. Thanks, I appreciate your help.

Iniciar sesión para comentar.

Más respuestas (2)

Sean de Wolski
Sean de Wolski el 10 de Jun. de 2011

0 votos

Yes. Look at the third output of ginput
doc ginput

1 comentario

tomas
tomas el 10 de Jun. de 2011
Thanks for your answer. I forgot to write that I need to do it in GUI and don't want to use crosshairs. It should be interactive. Is it possible to do it by using buttondownfcn? I want my gui does something after pressing left button and something else after pressing right button.

Iniciar sesión para comentar.

Categorías

Más información sobre Data Exploration en Centro de ayuda y File Exchange.

Preguntada:

el 10 de Jun. de 2011

Respondida:

el 25 de Sept. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by