객체 삭제 콜백 정의하기
객체를 삭제할 때 코드를 실행하는 객체 삭제 콜백을 만들 수 있습니다.
예를 들어, Figure 하나를 삭제할 때 모든 Figure를 삭제할 것인지 묻는 대화 상자가 나타나도록 Figure에 대한 객체 삭제 콜백을 만들어 보겠습니다. 다음 코드를 새 함수 파일로 복사하고 이를 현재 폴더나 MATLAB® 검색 경로에 있는 폴더에 figDelete.m
으로 저장합니다.
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
그런 다음, 두 개의 Figure를 생성하고 DeleteFcn
속성에 figDelete
함수를 할당합니다. Figure 중 하나를 삭제하고, 나타나는 대화 상자에서 옵션을 선택합니다.
figure('DeleteFcn',@figDelete) figure('DeleteFcn',@figDelete)