Using uimenu and the callback to a function

8 visualizaciones (últimos 30 días)
Robert Jones
Robert Jones el 1 de Mzo. de 2012
Hello, I am having trouble getting 'callback' to work the way I expected it. For a menu labeled "Setup" how can I get back to three unique functions to serve on of three purposes? Here is what I have been attempting to do:
mh(5) = uimenu('Label','Setup');
uimenu(mh(5),'Label','Config1','Callback','{@loadConfig1}');
uimenu(mh(5),'Label','Config2','Callback','{@loadConfig2}');
uimenu(mh(5),'Label','Config3','Callback','{@loadConfig3}');
function loadConfig1()
(function 1 programming)...
function loadConfig2()
(function 2 programming)...
function loadConfig3()
(function 3 programming)...
I placed stops in the code to see if I was coming back to the loadConfig functions and I do not seem to be. I am relatively new to MatLab programming...
Bob
p.s. is there a way to remove whitespace from posted questions? I had to use the enter key to get my questions preview to look right.
  1 comentario
Walter Roberson
Walter Roberson el 1 de Mzo. de 2012
http://www.mathworks.com/matlabcentral/answers/13205-tutorial-how-to-format-your-question-with-markup

Iniciar sesión para comentar.

Respuesta aceptada

Sean de Wolski
Sean de Wolski el 1 de Mzo. de 2012
Don't use ' ' around the callback:
...'callback',@loadConfig3)
More works for me:
function ans_uimenu
mh(5) = uimenu('Label','Setup');
uimenu(mh(5),'Label','Config1','Callback',@loadConfig1);
uimenu(mh(5),'Label','Config2','Callback',@loadConfig2);
uimenu(mh(5),'Label','Config3','Callback',@loadConfig3);
function loadConfig1(src,evt)
pi%(function 1 programming)...
function loadConfig2(src,evt)
exp(0)%(function 2 programming)...
function loadConfig3(src,evt)
2
  4 comentarios
Robert Jones
Robert Jones el 1 de Mzo. de 2012
Sorry to be a bother. I dont understand (src,evt)...
Sean de Wolski
Sean de Wolski el 1 de Mzo. de 2012
Callback functions are automatically passed two input arguments: the source calling them, and eventdata. These have to be accepted (or declined with a ~) but must be present of the callback will fail with a "too many inputs" error.
web([docroot '/techdoc/matlab_prog/f9-39541.html#f9-42494'])

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Develop Apps Using App Designer 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