close
关闭一个或多个图窗
说明
close 关闭当前图窗。调用 close 等效于调用 close(gcf)。
close force 关闭当前图窗,即使该图窗具有 CloseRequestFcn 回调函数以防止用户关闭图窗窗口。
close all 关闭其句柄可见的所有图窗。如果 HandleVisibility 属性设置为 'callback' 或 'off',则隐藏图窗句柄。
close all hidden 关闭所有图窗,包括具有隐藏句柄的图窗。
close all force 关闭所有图窗,包括已指定 CloseRequestFcn 回调以防止用户关闭图窗窗口的图窗。
status = close(___) 返回上述任一语法的关闭操作的 status。如果一个或多个图窗关闭,函数将返回 1,否则返回 0。如果指定了 status 输出,则必须将字符向量形式的输入参量用括号括起来;例如,status = close('all','hidden')。
示例
输入参数
提示
要无条件删除所有图窗,请使用以下语句:
set(groot,'ShowHiddenHandles','on') c = get(groot,'Children'); delete(c)
实现
CloseRequestFcn回调时,不要调用close。在回调的主体中调用close会产生导致 MATLAB 警告的递归。应使用delete函数实现回调。delete会删除图窗,而不执行CloseRequestFcn回调。如果您在未指定
CloseRequestFcn属性的情况下对图窗调用close,closereq属性的默认值会无条件地删除该图窗并关闭其窗口。要防止在调用close时删除,请实现CloseRequestFcn回调。
算法
close 函数使用以下语句计算指定图窗 f 的 CloseRequestFcn 属性:
eval(get(f,'CloseRequestFcn'))CloseRequestFcn 使您能够在调用 close 后延迟或中止图窗的关闭。例如,可以显示一个对话框以确实用户是否真正希望关闭图窗或在关闭前保存并清理。
CloseRequestFcn 的默认值 closereq 使用 delete(get(groot,'CurrentFigure')) 关闭当前图窗。如果您指定了图窗句柄数组,close 会对每个图窗执行由 CloseRequestFcn 指定的回调。
如果因为某个错误而终止了 CloseRequestFcn 回调的执行,该图窗将不会关闭。
版本历史记录
在 R2006a 之前推出















