Определение обратного вызова удаления объекта

Можно создать коллбэк удаления объекта, который выполняет код, когда вы удаляете объект.

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