オブジェクト削除コールバックの定義
オブジェクトを削除するときにコードを実行する、オブジェクト削除コールバックを作成できます。
たとえば、Figure のオブジェクト削除コールバックを作成し、その Figure を削除するときにすべての Figure を削除するかどうかを確認するダイアログを表示することができます。次のコードを新しい関数ファイルにコピーし、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
次に、Figure を 2 つ作成し、DeleteFcn
プロパティに関数 figDelete
を割り当てます。いずれかの Figure を削除し、表示されたダイアログで選択肢を選択します。
figure('DeleteFcn',@figDelete) figure('DeleteFcn',@figDelete)