Callback issue with uiMenu

Having some issues with callback using uimenu, when a certain option is selected I want it to change the color map of the whole figure. Here is my code.
Function Startup
fig = figure('Toolbar','none','MenuBar','none')
Main = uimenu(fig,'Label','File');
ImageSettings = uimenu(File,'Label','Jet',...
'Callback', 'CM1');
end
function CM1
%colormap(jet)
disp('Jet')
end
The error that occurs is
Too many input arguments.
Error while evaluating uimenu Callback
Also I have tried to change my callback from: 'Callback', 'CM1'); to
'Callback', @CM1);
That did not seem to work either.

 Akzeptierte Antwort

Jan
Jan am 22 Mai 2013
Bearbeitet: Jan am 22 Mai 2013

0 Stimmen

The function CM1 requires 2 input arguments as all callbacks:
function CM1(ObjectHandle, EventData)
You do not have to use the values, but they must exist.
Another idea would be an anomyous function to crop the inputs:
'Callback', @(x,y) CM1
But this looks more confusing, in my opinion.

1 Kommentar

Hanif
Hanif am 28 Mai 2013
I get a really weird error when I do that saying:
Maximum recursion limit of 500 reached. Use set(0,'RecursionLimit',N) to change the limit. Be aware that exceeding your available stack space can crash MATLAB and/or your computer.
Error in CreatingMenus>display
Error while evaluating uimenu Callback

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Interactive Control and Callbacks finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 21 Mai 2013

Community Treasure Hunt

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

Start Hunting!

Translated by