Можно создать обратный вызов удаления объекта, который выполняет код, когда вы удаляете объект.
Например, создайте обратный вызов удаления объекта для фигуры так, чтобы, когда вы удаляете фигуру, диалоговое окно казалось спрашивающим, если вы хотите удалить все фигуры. Скопируйте следующий код в новый функциональный файл и сохраните его как figDelete.m
или в текущей папке или в папке на пути поиска файлов MATLAB®.
function figDelete(~,~) yn = questdlg('Delete all figures?',... 'Figure Menu',... 'Yes','No','No'); switch yn case 'Yes' allfigs = findobj(get(groot,'Children'),'Type','figure' ); set(allfigs,'DeleteFcn',[]); delete(allfigs) case 'No' return end end
Затем создайте две фигуры и присвойте функцию figDelete
свойствам DeleteFcn
. Удалите одну из фигур и выберите опцию на диалоговом окне, которое появляется.
figure('DeleteFcn',@figDelete) figure('DeleteFcn',@figDelete)