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');

ユーザーがオプションを選択すると、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);

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

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

MATLAB エディターで、次のコードを含む新しい関数 mycallback.m を作成します。このコールバック関数は、event という struct 内の SelectedOption フィールドを表示します。MATLAB はこの struct を 2 番目の引数としてこのコールバック関数に自動的に渡します。

function mycallback(src,event)
   display(event.SelectedOption);
end

MATLAB コマンド ウィンドウで次のコードを実行し、mycallbackCloseFcn の値として指定する確認ダイアログ ボックスを作成します。

fig = uifigure;
uiconfirm(fig,'Close document?','Confirm Close',...
            'CloseFcn',@mycallback);

ユーザーがオプションを選択すると、SelectedOption の値がコマンド ウィンドウに表示されます。

App Designer で CloseFcn コールバックがある確認ダイアログ ボックスを作成するには、App Designer でコールバックをプライベート関数として書き込みます。

最初に [コード ビュー] を選択します。その後、[関数][プライベート関数] を選択して、プライベート関数を作成します。

次に、次のコードと一致するようにプライベート関数を記述します。

function mycallback(app,src,event)
   display(event.SelectedOption);
end

このコマンドを、ダイアログ ボックスに表示するコールバック関数に追加します。この場合、ターゲット Figure は app.UIFigure です。これは App Designer での Figure の既定名です。

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

保存してアプリを実行します。ダイアログ ボックスを作成するコールバックをユーザーがトリガーすると、アプリにダイアログ ボックスが表示されます。

入力引数

すべて折りたたむ

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

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

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

名前と値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

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

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

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

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

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

アイコン
'question' (既定)

'info'

'success'

'warning'

'error'

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

カスタム アイコン

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

  • 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選択したオプションのボタン ラベル。文字ベクトルとして返されます。

R2017b で導入