Main Content

uiconfirm

確認ダイアログ ボックスの作成

説明

uiconfirm(fig,message,title) は、指定されたターゲット Figure にモーダルのアプリ内確認ダイアログ ボックスを表示します。ターゲット Figure は関数 uifigure を使用して作成されていなければなりません。この構文では、ユーザーが選択できるオプションとして [OK][キャンセル] の 2 つが表示されます。ダイアログ ボックスが開いている間は、ダイアログ ボックスの背後の Figure にはアクセスできませんが、MATLAB® コマンド プロンプトはアクセス可能です。

uiconfirm(fig,message,title,Name,Value) は、ダイアログ ボックスの外観と動作をカスタマイズするための Name,Value の引数を 1 つ以上使用して、確認ダイアログ ボックスを表示します。たとえば、既定の [OK][キャンセル] の代わりに、ダイアログ ボックスのオプションのカスタム セットを指定することができます。

selection = uiconfirm(___) は、ユーザーの選択内容を文字ベクトルとして返します。前述の構文のいずれかで出力引数 selection を指定します。この構文を使用すると、ダイアログ ボックスが開いている間は MATLAB コマンド プロンプトにアクセスできません。

すべて折りたたむ

既定の疑問符アイコンではなく警告アイコンを表示するダイアログ ボックスを作成します。

fig = uifigure;
selection = uiconfirm(fig, ...
    "Close document?","Confirm Close", ...
    "Icon","warning");

Figure window with a confirmation dialog box. The dialog has a yellow warning icon.

ユーザーがオプションを選択すると、uiconfirm はその選択内容を文字ベクトルとして返します。

次の 3 つのオプションがある確認ダイアログを作成します。[Overwrite][Save as new][Cancel][Save as new] を既定のオプションとして指定し、[Cancel] をキャンセル動作に対応するオプションとして指定します。

fig = uifigure;
msg = "Saving these changes will overwrite previous changes.";
title = "Confirm Save";
selection = uiconfirm(fig,msg,title, ...
    "Options",["Overwrite","Save as new","Cancel"], ...
    "DefaultOption",2,"CancelOption",3);

Figure window with a confirmation dialog box asking the user to confirm their save. There are three options. The second option, "Save as new", is highlighted in blue.

ユーザーがオプションを選択すると、uiconfirm はその選択内容を文字ベクトルとして返します。

PolarAxes オブジェクト、および LaTeX を使用して書式設定された式を表示する確認ダイアログ ボックスをもつ Figure を作成します。ユーザーが [OK] をクリックしたときに、ダイアログ ボックスの選択項目を処理して式をプロットするコードを含めます。

fig = uifigure;
ax = polaraxes(fig);
msg = "Do you want to plot $$r = \exp \left(\frac{\theta}{10}\right)?$$";
selection = uiconfirm(fig,msg,"Plot equation","Interpreter","latex");
switch selection
    case 'OK'
        theta = -100:0.1:0;
        r = exp(theta/10);
        polarplot(ax,theta,r);
    case 'Cancel'
        return
end

Figure window with a polar axes and a dialog box asking if you want to plot a polar equation.

[OK] をクリックして式をプロットします。

Figure window with a spiral curve plotted on a polar axes.

名前と値の引数 CloseFcn は、ダイアログ ボックスを閉じるときに特定のタスクを実行する場合に便利です。

MATLAB エディターで、次のコードを含むスクリプトを作成します。このコードは Figure を作成し、figcallback および dlgcallback という名前の 2 つのコールバック関数を定義します。

  • 関数 figcallback は、ユーザーが Figure ウィンドウを閉じようとするときに実行されます。この関数は Figure ウィンドウに確認ダイアログ ボックスを作成し、関数 dlgcallback をダイアログ ボックスの CloseFcn コールバックとして指定します。

  • 関数 dlgcallback は、ダイアログ ボックスを閉じるときに実行されます。この関数は、MATLAB が 2 番目の引数としてコールバック関数に渡す event という struct 内の SelectedOption フィールドにアクセスします。ユーザーが [OK] を選択すると、関数は Figure ウィンドウを閉じます。

fig = uifigure("CloseRequestFcn",@figcallback);

function figcallback(src,event)
    uiconfirm(src,"Close app?","Confirm Close", ...
        "CloseFcn",@dlgcallback);
end

function dlgcallback(src,event)
    if event.SelectedOption == "OK"
        delete(event.Source)
    end
end

スクリプトを実行し、Figure ウィンドウを閉じてみます。確認ダイアログ ボックスが作成されます。

Figure window with a confirmation dialog box that says "Close app?"

コールバック関数の指定の詳細については、プログラムで作成したアプリ用のコールバックの作成を参照してください。

アプリを閉じるかユーザーに確認を求める確認ダイアログ ボックスを App Designer で作成します。

ユーザーが [OK] を選択したときにアプリの Figure ウィンドウを閉じる、確認ダイアログ ボックス用の CloseFcn コールバックを記述します。まず App Designer の [コード ビュー] で、[関数][プライベート関数] を選択して、プライベート関数を作成します。次に、次のコードと一致するようにプライベート関数を記述します。

function mycallback(app,src,event)
    if event.SelectedOption == "OK"
        delete(app.UIFigure);
    end
end

最後に、ユーザーがアプリを閉じようとしたときにダイアログ ボックスを表示するため、Figure ウィンドウ用の CloseRequestFcn コールバックを作成します。[コールバック] をクリックし、[app.UIFigure] をコンポーネントとして、[CloseRequestFcn] をコールバックとして選択してから、[コールバックの追加] をクリックします。App Designer が作成したコールバック関数の本体を次のコードに置き換えます。

uiconfirm(app.UIFigure,'Close document?','Confirm Close', ...
            'CloseFcn',@app.mycallback);

アプリを保存して実行します。確認ダイアログ ボックスを作成するため、アプリ ウィンドウを閉じてみます。

Figure window with a confirmation dialog box that says "Close app?"

プログラムによるコンポーネントの作成およびコールバック関数の指定の詳細については、プログラムによる App Designer への UI コンポーネントの追加を参照してください。

入力引数

すべて折りたたむ

ターゲット Figure。Figure オブジェクトとして指定します。この Figure は関数 uifigure で作成されていなければなりません。

表示するメッセージ。文字ベクトル、文字ベクトルの cell 配列または string 配列として指定します。メッセージが複数行のテキストとなる場合は、cell 配列または string 配列を指定します。配列の各要素は、テキストの各行に対応します。

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

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

例: selection = uiconfirm(fig,message,title,'Options',{'Save','Delete','Quit'}) は、ダイアログ ボックスのカスタム オプションを 3 つ指定します。

カスタム オプション。文字ベクトルの cell 配列または string 配列として指定します。

アイコン。事前定義されているアイコンまたはカスタム アイコンとして指定します。

事前定義されているアイコン

次の表は、事前定義されているアイコンを示す値の一覧です。たとえば、チェック マークのアイコンを表示するには、名前と値のペア 'Icon','success' を指定します。

アイコン
'question' (既定)

Blue circle with a question mark symbol.

'info'

Blue square with the letter "i".

'success'

Green circle with a check mark symbol.

'warning'

Yellow triangle with an exclamation point symbol.

'error'

Red octagon with an exclamation point symbol.

''アイコンは表示されません。

カスタム アイコン

カスタム アイコンを次の値のいずれかとして指定します。

  • MATLAB パス上にある SVG、JPEG、GIF または PNG イメージのファイル名を指定する文字ベクトル。あるいは、イメージ ファイルの絶対パスを指定することもできます。

  • トゥルーカラー イメージ配列。詳細については、イメージの種類を参照してください。

既定のオプション。文字ベクトル、string スカラー、または 0 または正の整数として指定します。既定のオプションは、既定でフォーカスされるダイアログ ボックスのボタンに対応します。

文字ベクトルまたは string スカラーを指定する場合、配列 Options のいずれかの要素と一致していなければなりません。ただし、Options 引数を使用せずに uiconfirm を呼び出す場合、DefaultOption'OK' または 'Cancel' でなければなりません。

0 または正の整数を指定する場合、[1, n] (n は配列 Options の長さ) の範囲になければなりません。Options 引数を使用せずに uiconfirm を呼び出す場合、DefaultOption1 または 2 でなければなりません。

キャンセル オプション。文字ベクトル、string スカラー、または 0 または正の整数として指定します。キャンセル オプションは、ダイアログ ボックスでどのオプションがキャンセル操作に対応するかを指定します。

文字ベクトルまたは string スカラーを指定する場合、配列 Options のいずれかの要素と一致していなければなりません。ただし、Options 引数を使用せずに uiconfirm を呼び出す場合、CancelOption'OK' または 'Cancel' でなければなりません。

0 または正の整数を指定する場合、[1, n] (n は配列 Options の長さ) の範囲になければなりません。Options 引数を使用せずに uiconfirm を呼び出す場合、CancelOption1 または 2 でなければなりません。

クローズ コールバック関数。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

このコールバックは、ダイアログ ボックスを閉じるときに特定のタスクを実行する場合に便利です。

CloseFcn を関数ハンドル (または関数ハンドルを含む cell 配列) で指定した場合、MATLAB はイベント データを含む struct をコールバック関数の入力引数として渡します。この struct には、次の表に示すフィールドが含まれています。

構造体フィールド
Sourceダイアログ ボックスに関連付けられる Figure オブジェクト。
EventName'ConfirmDialogClosed'
DialogTitleダイアログ ボックスのタイトル。
SelectedOptionIndex選択したオプションのインデックス。n 個のオプションに対して、インデックスは 1 から n までの任意の正の整数にできます。
SelectedOption選択したオプションのボタン ラベル。文字ベクトルとして返されます。

コールバック関数の指定の詳細については、プログラムで作成したアプリ用のコールバックの作成を参照してください。

ダイアログ テキストのインタープリター。次のいずれかとして指定します。

  • 'none' — リテラル文字を表示します。

  • 'tex' — TeX マークアップのサブセットを使用してテキストを解釈します。

  • 'latex' — LaTeX マークアップのサブセットを使用してテキストを解釈します。

  • 'html' — HTML マークアップのサブセットを使用してテキストを解釈します。

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

©

LaTeX マークアップ

LaTeX マークアップを使用して、数式、方程式、特殊文字を書式設定して表示します。ドル記号を使用してマークアップ テキストを囲みます。たとえば、インライン モードでは '$\int_1^{20} x^2 dx$'、表示モードでは '$$\int_1^{20} x^2 dx$$' を使用します。

テキストは LaTeX の既定のフォント スタイルで表示され、フォント スタイルは LaTeX マークアップを使用して変更できます。

MATLAB では、大半の標準の LaTeX 数式モード コマンドがサポートされています。詳細については、サポートされる LaTeX コマンドを参照してください。

HTML マークアップ

HTML マークアップは、リンクの表示やフォント スタイルのカスタマイズに使用します。

インタープリターは HTML マークアップのサブセットをサポートします。一般的なガイドラインとして、インタープリターはテキスト関連のタグとスタイルをサポートします。サポートされないタグとスタイルは無視されます。

次の表に、サポートされる要素と要素の属性を一覧します。

HTML 要素属性説明
astyle, target, href, titleハイパーリンク
abbrstyle, title略語または頭字語
addressstyle連絡先情報
articlestyle自己完結した単独のコンテンツ
asidestyle主な内容に間接的に関連するコンテンツ
bstyle太字フォント
bdistyle, dir周囲のテキストとは異なる方向で書式設定されるコンテンツ
bdostyle, dir周囲のテキストとは異なる方向で書式設定されるコンテンツ
bigstyle周囲のテキストよりフォント サイズが 1 レベル大きいテキスト (HTML5 では旧式)
blockquotestyle, cite拡張された引用
brN/A改行
captionstyleテーブルのキャプションまたはタイトル
centerstyle水平方向に中央揃えされたコンテンツ
citestyle参照先のタイトル
codestyleコードのフラグメント
colstyle, align, valign, span, widthテーブル内の列
colgroupstyle, align, valign, span, widthテーブル内の列のグループ
ddstyle説明リストの用語または値
delstyle, datetimeドキュメントから削除されたテキスト
detailsstyle, open'開いた' 状態に切り替えた場合にのみテキストが表示される対話型ウィジェット
dlstyle説明リスト
dtstyle説明リストの用語または値
emstyle強調表示されるテキスト (通常、イタリックで表示)
fontstyle, color, size, face指定したフォント プロパティのテキスト (HTML5 では旧式)
footerstyleフッター
h1. h2, h3, h4, h5, h6styleセクション見出し — <h1> が見出しの最上位、<h6> が最下位
headerstyle導入コンテンツ
hrstyle主題の区切り
istyle周囲のコンテンツからのテキスト オフセット — 既定の設定ではイタリックとしてレンダリングされる
insstyle, datetimeドキュメントに挿入されたテキスト
listyleリスト内の項目
markstyleマークアップ テキストまたは強調表示されたテキスト
olstyle順序付きリスト
pstyle段落
prestyle書式設定済みテキスト
sstyle取り消し線付きのテキスト
strikestyle取り消し線付きのテキスト (HTML5 では旧式)
sectionstyle独立したセクション
smallstyle周囲のテキストよりフォント サイズが 1 レベル小さいテキスト (HTML5 では旧式)
substyle下付き文字
supstyle上付き文字
strongstyle重要度が高いテキスト
tablestyle, width, border, align, valignテーブル
tbodystyle, align, valignテーブル本体
tdstyle, width, rowspan, colspan, align, valignテーブル データ セル
tfootstyle, align, valignテーブル列をまとめる一連のテーブル行
thstyle, width, rowspan, colspan, align, valignセルのグループのヘッダーとして指定されたテーブル データ セル
theadstyle, align, valign列見出しを指定する一連のテーブル行
trstyle, rowspan, align, valignテーブル セルの行
ttstyle固定幅テキスト (HTML5 では旧式)
ustyle非言語的注釈を使用するテキスト — 既定の設定では下線としてレンダリングされる
ulstyle順序なしリスト

これらの要素の詳細については、https://developer.mozilla.org/en-US/docs/Web/HTML/Elementを参照してください。

MATLAB コードを実行するハイパーリンクを作成するために HTML マークアップを使用するには、関数を実行するハイパーリンクの作成を参照してください。

HTML スタイル属性を使用して HTML コンテンツを書式設定できます。スタイル属性は CSS 属性とその値の文字列です。

以下の CSS 属性がサポートされています。

  • background-color

  • border-bottom

  • border-bottom-color

  • border-bottom-left-radius

  • border-bottom-right-radius

  • border-bottom-style

  • border-bottom-width

  • border-left

  • border-left-color

  • border-left-style

  • border-left-width

  • border-radius

  • border-right

  • border-right-color

  • border-right-style

  • border-right-width

  • border-spacing

  • border-style

  • border-top

  • border-top-color

  • border-top-left-radius

  • border-top-right-radius

  • border-top-style

  • border-top-width

  • border-width

  • color

  • direction

  • font-family

  • font-size

  • font-style

  • font-weight

  • height

  • hidden

  • line-height

  • margin

  • margin-bottom

  • margin-left

  • margin-right

  • margin-top

  • max-height

  • max-width

  • min-height

  • min-width

  • overflow

  • overflow-wrap

  • overflow-x

  • overflow-y

  • padding

  • padding-bottom

  • padding-left

  • padding-right

  • padding-top

  • text-align

  • text-anchor

  • text-decoration

  • text-indent

  • text-overflow

  • text-shadow

  • text-transform

  • title

  • translate

  • white-space

  • width

これらの属性の詳細については、https://developer.mozilla.org/en-US/docs/Web/CSS/Referenceを参照してください。

バージョン履歴

R2017b で導入

すべて展開する