Using uimenu and the callback to a function

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 Kommentar

Walter Roberson
Walter Roberson am 1 Mär. 2012
http://www.mathworks.com/matlabcentral/answers/13205-tutorial-how-to-format-your-question-with-markup

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Sean de Wolski
Sean de Wolski am 1 Mär. 2012

1 Stimme

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 Kommentare

Robert Jones
Robert Jones am 1 Mär. 2012
OK. thanks. I tried that. Are the functions properly named? I still cant get to a code stop I've placed in loadConfig1.
Bob
Sean de Wolski
Sean de Wolski am 1 Mär. 2012
see more
Robert Jones
Robert Jones am 1 Mär. 2012
Sorry to be a bother. I dont understand (src,evt)...
Sean de Wolski
Sean de Wolski am 1 Mär. 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'])

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Develop Apps Using App Designer finden Sie in Hilfe-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