Main Content

warndlg

警告ダイアログ ボックスの作成

説明

メモ

App Designer 内および関数 uifigure で作成されたアプリ内では、warndlg よりも uialert の方が、追加のカスタマイズ オプションを使用できるため推奨されます。

f = warndlg(msg) は、指定されたメッセージを含む非モーダルの警告ダイアログ ボックスを作成し、そのダイアログ ボックスの figure オブジェクト f を返します。メッセージ テキストはダイアログ ボックスに収まるように折り返されます。ダイアログ ボックスのタイトルは Warning Dialog です。

複数のアプリ ウィンドウ、MATLAB® デスクトップ、または Simulink® に警告ダイアログ ボックスを表示し、そのダイアログ ボックスに応答する前にそれらを操作できるようにする場合は、関数 warndlg を使用します。

f = warndlg(msg,title) は、ダイアログ ボックスのカスタムのタイトルを指定します。

f = warndlg(msg,title,opts) は、opts の設定が 'non-modal''modal' または 'replace' の場合にウィンドウ スタイルを指定します。opts が構造体配列の場合は、ウィンドウ スタイルと msg 引数のインタープリターを指定します。

f = warndlg は、次の既定のタイトルとメッセージを使用して警告ダイアログ ボックスを作成します。

  • 既定のタイトル: Warning Dialog

  • 既定のメッセージ: This is the default warning.

すべて折りたたむ

f = warndlg('Pressing ACCEPT clears memory','Warning');

Warning dialog box with title "Warning". The dialog box contains a yellow warning icon, the text "Pressing ACCEPT clears memory", and a button labeled "OK".

モーダル ウィンドウ スタイルと TeX インタープリターを指定する構造体を作成します。その後、opts 構造体を入力引数として指定して警告ダイアログ ボックスを作成します。TeX インタープリターは、メッセージ テキストに含まれる \color{blue} という文字をメッセージ テキストを青色でレンダリングする命令として読み取ります。

opts = struct('WindowStyle','modal',... 
              'Interpreter','tex');
f = warndlg('\color{blue} Pressing ACCEPT clears memory',...
             'Memory Warning', opts);

Warning dialog box with blue text

入力引数

すべて折りたたむ

警告メッセージ。文字ベクトル、文字ベクトルの cell 配列、または string 配列として指定します。

  • メッセージを文字ベクトルとして指定した場合、MATLAB によりテキストがダイアログ ボックスに収まるように折り返されます。

  • メッセージを cell 配列として指定した場合、MATLAB によりテキストが cell 配列の各要素の後で折り返されます。cell 配列の長いテキスト要素は、MATLAB によりダイアログ ボックスに収まるように折り返されます。

例: 'This command clears your workspace.'

ダイアログ ボックスのタイトル。文字ベクトルまたは string スカラーとして指定します。

例: 'Workspace Warning'

ダイアログ ボックスの設定。ウィンドウ スタイルまたは構造体として指定します。構造体は、ウィンドウ スタイルと msg 引数のインタープリターを指定します。

ウィンドウ スタイルのみを指定するには、opts を次の表のいずれかの値に設定します。

説明
'non-modal'

非モーダルな警告ダイアログ ボックスを作成します。このダイアログ ボックスは、開いている他のダイアログ ボックスに影響しません。

'modal'

モーダルな警告ダイアログ ボックスを指定します。

同じタイトルの警告ダイアログ ボックスが他にある場合、MATLAB は最後にアクティブになったダイアログ ボックスを現在の指定内容で変更します。MATLAB は、開いている他のエラー、メッセージ、警告のダイアログ ボックスのうち、ダイアログ ボックスのタイトルが最後にアクティブになった警告ダイアログ ボックスと同じものをすべて削除します。これは、モーダルと非モーダルの両方のダイアログ ボックスに影響します。

メッセージとエラーのダイアログ ボックスは、関数 msgbox と関数 errordlg でそれぞれ作成されます。

'replace'

非モーダルな警告ダイアログ ボックスを指定します。

同じタイトルの警告ダイアログ ボックスが他にある場合、MATLAB は最後にアクティブになったダイアログ ボックスを現在の指定内容で変更します。MATLAB は、開いている他のエラー、メッセージ、警告のダイアログ ボックスのうち、タイトルが最後にアクティブになった警告ダイアログ ボックスと同じものをすべて削除します。これは、モーダルと非モーダルの両方のダイアログ ボックスに影響します。

メッセージとエラーのダイアログ ボックスは、関数 msgbox と関数 errordlg でそれぞれ作成されます。

警告ダイアログ ボックスのウィンドウ スタイルとメッセージのインタープリターを指定するには、WindowStyle フィールドと Interpreter フィールドを含む opts 構造体を作成します。次の表に、フィールドの有効な値を示します。構造体には両方のフィールドを含めなければなりません。

フィールド

WindowStyle

'non-modal''modal'、または 'replace'

Interpreter

'none' または 'tex''tex' に設定すると、MATLAB でのメッセージのレンダリングに TeX インタープリターが使用されます。

TeX マークアップを使用して、上付き文字や下付き文字の追加、フォントのタイプや色の変更、メッセージ テキストへの特殊文字の挿入を行うことができます。

修飾子の効果はテキストの末尾まで適用されます。上付き文字と下付き文字は例外であり、次の 1 文字または中かっこで囲まれた文字にのみ適用されます。インタープリターを 'tex' に設定した場合にサポートされる修飾子は次のとおりです。

修飾子説明
^{ }上付き文字'text^{superscript}'
_{ }下付き文字'text_{subscript}'
\bf太字フォント'\bf text'
\itイタリック フォント'\it text'
\sl斜体フォント (通常はイタリック フォントと同じ)'\sl text'
\rm標準フォント'\rm text'
\fontname{specifier}フォント名 — specifier をフォント ファミリの名前に置き換えます。これは他の修飾子と組み合わせて使用できます。'\fontname{Courier} text'
\fontsize{specifier}フォント サイズ — specifier をポイント単位の数値スカラーに置き換えます。'\fontsize{15} text'
\color{specifier}フォントの色 — specifier を、redgreenyellowmagentablueblackwhitegraydarkGreenorangelightBlue の色のいずれかに置き換えます。'\color{magenta} text'
\color[rgb]{specifier}フォントのカスタムの色 — specifier を RGB 3 成分に置き換えます。'\color[rgb]{0,0.5,0.5} text'

次の表に、'tex' インタープリターでサポートされる特殊文字を示します。

文字列記号文字列記号文字列記号

\alpha

α

\upsilon

υ

\sim

~

\angle

\phi

ϕ

\leq

\ast

*

\chi

χ

\infty

\beta

β

\psi

ψ

\clubsuit

\gamma

γ

\omega

ω

\diamondsuit

\delta

δ

\Gamma

Γ

\heartsuit

\epsilon

ϵ

\Delta

Δ

\spadesuit

\zeta

ζ

\Theta

Θ

\leftrightarrow

\eta

η

\Lambda

Λ

\leftarrow

\theta

θ

\Xi

Ξ

\Leftarrow

\vartheta

ϑ

\Pi

Π

\uparrow

\iota

ι

\Sigma

Σ

\rightarrow

\kappa

κ

\Upsilon

ϒ

\Rightarrow

\lambda

λ

\Phi

Φ

\downarrow

\mu

µ

\Psi

Ψ

\circ

º

\nu

ν

\Omega

Ω

\pm

±

\xi

ξ

\forall

\geq

\pi

π

\exists

\propto

\rho

ρ

\ni

\partial

\sigma

σ

\cong

\bullet

\varsigma

ς

\approx

\div

÷

\tau

τ

\Re

\neq

\equiv

\oplus

\aleph

\Im

\cup

\wp

\otimes

\subseteq

\oslash

\cap

\in

\supseteq

\supset

\lceil

\subset

\int

\cdot

·

\o

ο

\rfloor

\neg

¬

\nabla

\lfloor

\times

x

\ldots

...

\perp

\surd

\prime

´

\wedge

\varpi

ϖ

\0

\rceil

\rangle

\mid

|

\vee

\langle

\copyright

©

例: opts = 'modal'

例: opts.WindowStyle = 'non-modal'; opts.Interpreter = 'tex';

詳細

すべて折りたたむ

モーダル ダイアログ ボックス

モーダル ダイアログ ボックスでは、モーダル ダイアログ ボックスに応答する前に他の MATLAB ウィンドウを操作することができません。

非モーダル ダイアログ ボックス

非モーダル ダイアログ ボックスでは、非モーダル ダイアログ ボックスに応答する前に他の MATLAB ウィンドウを操作できます。非モーダル ダイアログ ボックスはノーマル ダイアログ ボックスとも呼ばれます。

ヒント

  • モーダル ダイアログ (errordlgmsgbox または warndlg で作成) は、これらの関数で作成された同名の既存のダイアログを置き換えます。

  • MATLAB プログラムの実行は、モーダルな警告ダイアログ ボックスがアクティブであっても続行されます。ユーザーがダイアログ ボックスを閉じるまでプログラムの実行をブロックする場合は、関数 uiwait を使用します。

  • 単一ウィンドウの App Designer または uifigure ベースのアプリ向けにモーダル警告ダイアログ ボックスを作成するには、代わりに関数 uialert を使用します。

バージョン履歴

R2006a より前に導入