ドキュメンテーション

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

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 をすべて削除します。

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

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

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

set(0,'ShowHiddenHandles','on')
delete(get(0,'Children'))

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

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

この情報は役に立ちましたか?