close

Remove specified figure

Syntax

close
close(h)
close name
close all
close all hidden
close all force
status = close(...)

Description

close deletes the current figure or the specified figure(s). It optionally returns the status of the close operation.

close deletes the current figure (equivalent to close(gcf)).

close(h) deletes the figure identified by h. If h is an array, close deletes all figures identified by h. h can also be the figure Number.

close name deletes the figure with the specified name.

close all deletes all figures whose handles are not hidden.

close all hidden deletes all figures including those with hidden handles.

close all force deletes all figures, including GUIs for which CloseRequestFcn has been altered to not close the window.

status = close(...) returns 1 if the specified windows have been deleted and 0 otherwise.

Algorithms

The close function works by evaluating the specified figure's CloseRequestFcn property with the statement

eval(get(h,'CloseRequestFcn'))

The default CloseRequestFcn, closereq, deletes the current figure using delete(get(groot,'CurrentFigure')). If you specify an array of figure handles, close executes each figure's CloseRequestFcn in turn. If an error that terminates the execution of a CloseRequestFcn occurs, the figure is not deleted. Note that using your computer's window manager (i.e., the Close menu item) also calls the figure's CloseRequestFcn.

If a figure's handle is hidden (i.e., the figure's HandleVisibility property is set to callback or off and the root ShowHiddenHandles property is set to on), you must specify the hidden option when trying to access a figure using the all option.

To delete all figures unconditionally, use the statements

set(groot,'ShowHiddenHandles','on')
c = get(groot,'Children');
delete(c)

The figure CloseRequestFcn allows you to either delay or abort the closing of a figure once the close function has been issued. For example, you can display a dialog box to see if the user really wants to delete the figure or save and clean up before closing.

When coding a CloseRequestFcn callback, make sure that it does not call close, because this sets up a recursion that results in a MATLAB® warning. Instead, the callback should destroy the figure with delete. The delete function does not execute the figure's CloseRequestFcn; it deletes the specified figure.

See Also

| |

Introduced before R2006a