does anyone knows about to clear the figure window??

5 Ansichten (letzte 30 Tage)
ARYA NAYAK
ARYA NAYAK am 24 Dez. 2016
Kommentiert: Image Analyst am 4 Feb. 2017
i used clf function to clear the figure. it will clears all the option in the figure. i need menu options. clf functions clears menu options too.
what to do now??? help me please.....

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 24 Dez. 2016
delete(findobj('Type', 'axes'))
  6 Kommentare
ARYA NAYAK
ARYA NAYAK am 25 Dez. 2016
delete figure deletes all the items. it will delete menu items too.
i already did coding for menus.
deleting and recreating of menus does creation of menus itself not previously coded programs. it won't works when deleting figure and creating one more time.
Image Analyst
Image Analyst am 25 Dez. 2016
You already have lines of code to create menus, so what's the problem in using it again?
I don't know what you mean by previously coded programs. If you have a GUI made with GUIDE you wouldn't want to do that, but if you built all your controls manually with uicontrol, uimenu, uitable, etc. then it's easy to just blow away the figure, recreate it, and add the menu again. I don't know why you say it won't work. See my other answer with the demo.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Image Analyst
Image Analyst am 25 Dez. 2016
What if you just delete it and recreate it:
hFig = figure();
% Now put stuff on it with uicontrol()
% Your code goes here.....
% Now clear them away by deleting and recreating a blank figure.
delete(hFig);
hFig = figure();

Image Analyst
Image Analyst am 25 Dez. 2016
Try this demo:
% Create a new figure.
hFig = figure('MenuBar','None');
% Create menu
mh = uimenu(hFig,'Label','Find');
frh = uimenu(mh,'Label','Find and Replace ...',...
'Callback','disp(''goto'')');
frh = uimenu(mh,'Label','Variable');
uimenu(frh,'Label','Name...', ...
'Callback','disp(''variable'')');
uimenu(frh,'Label','Value...', ...
'Callback','disp(''value'')');
% Now put other stuff on it with uicontrol()
% Your code goes here.....
plot(1:10);
uiwait(msgbox('Click OK to clear figure'));
% Now clear them away by deleting and recreating a blank figure.
delete(hFig);
hFig = figure();
% Create menu
mh = uimenu(hFig,'Label','Find');
frh = uimenu(mh,'Label','Find and Replace ...',...
'Callback','disp(''goto'')');
frh = uimenu(mh,'Label','Variable');
uimenu(frh,'Label','Name...', ...
'Callback','disp(''variable'')');
uimenu(frh,'Label','Value...', ...
'Callback','disp(''value'')');
  3 Kommentare
Walter Roberson
Walter Roberson am 4 Feb. 2017
Remove the "Function menu_callback" line that you have. Replace it with
function MENU
now you can call it as
MENU
Image Analyst
Image Analyst am 4 Feb. 2017
ARYA, it looks like you're using GUIDE, so why don't you just use the menu editor icon in GUIDE to create a menu and put code into its callback?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Migrate GUIDE Apps finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by