Filter löschen
Filter löschen

mouse button click

21 Ansichten (letzte 30 Tage)
tomas
tomas am 10 Jun. 2011
Beantwortet: Conny Fru am 25 Sep. 2019
Hello, is it somehow possible to distinguish which mouse button was pressed, left or right?
Thank you

Akzeptierte Antwort

Matt Tearle
Matt Tearle am 10 Jun. 2011
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 Kommentare
tomas
tomas am 10 Jun. 2011
Thank you, that's what I need.
roudan
roudan am 9 Nov. 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Sean de Wolski
Sean de Wolski am 10 Jun. 2011
Yes. Look at the third output of ginput
doc ginput
  1 Kommentar
tomas
tomas am 10 Jun. 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.

Melden Sie sich an, um zu kommentieren.


Conny Fru
Conny Fru am 25 Sep. 2019
Cheers Matt.

Kategorien

Mehr zu Visual Exploration finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by