Можно создать коллбэк удаления объекта, который выполняет код, когда вы удаляете объект.
Например, создайте коллбэк удаления объекта для фигуры так, чтобы, когда вы удаляете фигуру, диалоговое окно казалось спрашивающим, если вы хотите удалить все фигуры. Скопируйте следующий код в новый файл функции и сохраните его как 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)