ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

close

指定した Figure を削除

構文

close
close(h)
close name
close all
close all hidden
close all force
status = close(...)

説明

関数 close は、現在の Figure あるいは指定された Figure を削除します。またオプションで、関数 close 操作の実行に関するステータスを返します。

関数 close は、現在の Figure を削除します (close(gcf) と同じ)。

close(h) は、h で指定された Figure を削除します。h が配列の場合、closeh で指定されたすべての Figure を削除します。h には Figure の Number を指定することもできます。

close name は、指定された名前の Figure を削除します。

close all は、ハンドルが隠されていない Figure をすべて削除します。

close all hidden は、ハンドルが隠されているものも含め、すべての Figure を削除します。

close all force は、Figure をすべて削除します。これには、ウィンドウを閉じないように CloseRequestFcn が変更された GUI も含まれます。

status = close(...) は、指定されたウィンドウが削除済みの場合は 1、そうでない場合は 0 を返します。

アルゴリズム

関数 close は、指定された Figure の CloseRequestFcn プロパティを以下のステートメントによって評価することで機能します。

eval(get(h,'CloseRequestFcn'))

既定の CloseRequestFcn プロパティである closereq は、delete(get(groot,'CurrentFigure')) を使用して現在の Figure を削除します。Figure のハンドルの配列を指定した場合、関数 close は各 Figure の CloseRequestFcn プロパティを順番に実行します。CloseRequestFcn プロパティの実行を強制終了するエラーが発生した場合、Figure は削除されません。ユーザーがコンピューターのウィンドウ マネージャーの機能 ([閉じる] メニュー項目) を使用する場合も、Figure の CloseRequestFcn プロパティが呼び出されることに注意してください。

Figure のハンドルが隠されている (すなわち、Figure の HandleVisibility プロパティが callback あるいは off に設定され、ルートの ShowHiddenHandles プロパティが on に設定されている) 場合、all オプションを使って Figure にアクセスするには、hidden オプションを指定しなければなりません。

すべての Figure を無条件で削除するには、以下のステートメントを使用します。

set(groot,'ShowHiddenHandles','on')
c = get(groot,'Children');
delete(c)

Figure の CloseRequestFcn プロパティを活用すると、関数 close の発行後に Figure が閉じるのを遅らせたり破棄することができます。たとえば、ダイアログ ボックスを表示し、Figure を本当に削除してもよいか、あるいは閉じる前に保存とクリーンアップを行うかを確認することも可能です。

コールバック CloseRequestFcn をコーディングするときには、関数 close を呼び出していないことを確認してください。呼び出すと再帰が設定され、結果的に MATLAB® の警告が表示されるからです。むしろ、コールバックで関数 delete を使用して、Figure を破棄する必要があります。関数 delete は Figure の CloseRequestFcn を実行するのではなく、指定された Figure を削除します。

参考

| |

R2006a より前に導入