Returning a value from a function after click in figure

2 visualizaciones (últimos 30 días)
I would like to return a value from a function, based on the type of click that was used.
I have the following codes:
figure
i = 0;
plot(rand(5))
val = set(gca,'buttondownfcn',@mybttnfcn)
and
function value = mybttnfcn(h,~)
hf = get(h,'parent');
b = get(hf,'selectiontype');
if strcmpi(b,'normal')
value = 1;
disp(value)
elseif strcmpi(b,'alt')
value = -1;
disp(value)
else
value = 0;
disp(value)
end
I would want to capture the 'value' from the function, into a variable where the call happens. Thanks!

Respuesta aceptada

Walter Roberson
Walter Roberson el 18 de Abr. de 2018
Callbacks cannot return values (except for position constraints functions). You need to get the value out a different way.
https://www.mathworks.com/help/matlab/creating_guis/share-data-among-callbacks.html
  2 comentarios
Markus Toivonen
Markus Toivonen el 18 de Abr. de 2018
Would it be possible to do this in one function?
h = figure;
i = 0;
plot(rand(5))
b = get(h,'selectiontype');
if strcmpi(b,'normal')
value = 1;
elseif strcmpi(b,'alt')
value = -1;
else
value = 0;
end
Currently, it does not react to clicks. I guess due to the lack of "ButtonDownFcn"?
Walter Roberson
Walter Roberson el 18 de Abr. de 2018
https://www.mathworks.com/help/matlab/ref/waitforbuttonpress.html

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Interactive Control and Callbacks en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by