Clear Filters
Clear Filters

Callback issue with uiMenu

3 views (last 30 days)
Hanif
Hanif on 21 May 2013
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.

Accepted Answer

Jan
Jan on 22 May 2013
Edited: Jan on 22 May 2013
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 Comment
Hanif
Hanif on 28 May 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

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!