exponenta event banner

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

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

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