Main Content

Definir un callback de eliminación de objetos

Puede crear un callback de eliminación de objetos que ejecute el código cuando elimine el objeto.

Por ejemplo, cree un callback de eliminación de objetos para una figura, de modo que cuando elimine la figura, aparezca un cuadro de diálogo para preguntarle si desea eliminar todas las figuras. Copie el siguiente código en un nuevo archivo de función y guárdelo como figDelete.m en la carpeta actual o en una carpeta de la ruta de búsqueda de 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

A continuación, cree dos figuras y asigne la función figDelete a las propiedades DeleteFcn. Elimine una de las figuras y elija una opción en el cuadro de diálogo que aparece.

figure('DeleteFcn',@figDelete)
figure('DeleteFcn',@figDelete)