dialog
空のモーダル ダイアログ ボックスを作成
説明
は 1 つ以上の d = dialog(Name,Value)Figure プロパティ名と対応する値を指定します。この構文を使用して、既定のプロパティをオーバーライドします。
例
関数 uicontrol を使用して、ダイアログにユーザー インターフェイス コントロールを追加します。たとえば、テキストとボタンを含むダイアログを表示するプログラム ファイル mydialog.m を作成します。
function mydialog d = dialog('Position',[300 300 250 150],'Name','My Dialog'); txt = uicontrol('Parent',d,... 'Style','text',... 'Position',[20 80 210 40],... 'String','Click the close button when you''re done.'); btn = uicontrol('Parent',d,... 'Position',[85 20 70 25],... 'String','Close',... 'Callback','delete(gcf)'); end
次に、コマンド ウィンドウから関数 mydialog を実行します。
mydialog

関数 uiwait を使用して、ダイアログ ボックス内でのユーザー選択に基づく出力を返します。たとえば、以下のタスクを実行するプログラム ファイル choosedialog.m を作成します。
関数
dialogを呼び出して、指定のサイズ、位置およびタイトル "Select One" をもつダイアログを作成関数
uicontrolを 3 回呼び出して、テキスト、ポップアップ メニューとボタンをそれぞれ追加ボタンのコールバック関数として動作する関数
popup_callbackを定義関数
uiwaitを呼び出して、ユーザーがダイアログを閉じるまで待機してから出力をコマンド ラインに返す
function choice = choosedialog d = dialog('Position',[300 300 250 150],'Name','Select One'); txt = uicontrol('Parent',d,... 'Style','text',... 'Position',[20 80 210 40],... 'String','Select a color'); popup = uicontrol('Parent',d,... 'Style','popup',... 'Position',[75 70 100 25],... 'String',{'Red';'Green';'Blue'},... 'Callback',@popup_callback); btn = uicontrol('Parent',d,... 'Position',[89 20 70 25],... 'String','Close',... 'Callback','delete(gcf)'); choice = 'Red'; % Wait for d to close before running to completion uiwait(d); function popup_callback(popup,event) idx = popup.Value; popup_items = popup.String; choice = char(popup_items(idx,:)); end end
コマンド ウィンドウから関数 choosedialog を実行します。次に、ダイアログで色を選択します。
color = choosedialog

ダイアログを閉じると、choosedialog は最後に選択した色を返します。
color = Blue
メモ
関数 uiwait は、MATLAB® スレッドをブロックします。uiwait は単純なモーダル ダイアログでは良好に動作しますが、高度なアプリケーションでの使用は推奨されません。
名前と値の引数
例: dialog('WindowStyle','normal') は WindowStyle プロパティを 'normal' に設定します。
ここには一部のプロパティのみを示します。完全な一覧については、Figure を参照してください。
描画可能領域の位置とサイズ。[left bottom width height] の形式のベクトルとして指定します。この領域には、Figure の境界線、タイトル バー、メニュー バーおよびツール バーは含まれません。
次の表で、Position ベクトルの各要素について説明します。
| 要素 | 説明 |
|---|---|
left | プライマリ ディスプレイの左端から、ウィンドウ内側の左端までの距離。この値は、複数のモニターがあるシステムでは負の値になる場合があります。 Figure がドッキングしている場合、この値は、MATLAB デスクトップ内の Figure パネルを基準にした値になります。 |
bottom | プライマリ ディスプレイの下端から、ウィンドウ内側の下端までの距離。この値は、複数のモニターがあるシステムでは負の値になる場合があります。 Figure がドッキングしている場合、この値は、MATLAB デスクトップ内の Figure パネルを基準にした値になります。 |
width | dialog の内側の左右の端の間の距離。 |
height | ウィンドウ内側の上下の端の距離。 |
すべての測定値は、Units プロパティで指定した単位で表されます。
Figure がドッキングしているときには、Figure の Position プロパティは指定できません。
MATLAB Online™ では、Position ベクトルの bottom 要素および left 要素は無視されます。
境界線、タイトル バー、メニュー バーおよびツール バーを含むウィンドウ全体を配置するには、OuterPosition プロパティを使用します。
メモ
Windows® オペレーティング システムでは、最小ウィンドウ幅と最大ウィンドウ サイズが適用されます。これらの範囲を超える Figure サイズを指定した場合、表示される Figure は指定されたサイズではなく、これらの範囲に従います。
ボタンダウン コールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバックは Figure の空白の領域をクリックしたときに必ず実行されます。
コールバックのプロパティ値を関数ハンドル、cell 配列または文字ベクトルとして指定する方法の詳細については、コールバック関数の指定を参照してください。
ユーザーが修飾キーを押したかどうかを判定するには、SelectionType プロパティを使用します。
ウィンドウ スタイル。次のいずれかとして指定します。
'modal'— この Figure は、既存のすべての Figure ウィンドウの上に表示されます。この一番上に表示された Figure が存在してモーダルな状態である限り、既存のウィンドウへのアクセスができなくなります。ただし、モーダルな Figure の後に作成された新しい Figure は表示されます。複数のモーダルなウィンドウが存在する場合、最後に作成されたウィンドウがフォーカスされ、他のすべてのウィンドウの前面に表示されます。この状態は、不可視になるか、通常のウィンドウ スタイルに戻るか、削除されるまで継続します。継続が終了した場合、フォーカスは、最後にフォーカスされたウィンドウに戻ります。
'normal'— Figure ウィンドウは他のウィンドウから独立しており、この Figure の表示中に他のウィンドウにアクセスできます。'docked'— Figure はデスクトップまたはドキュメント ウィンドウに表示されます。WindowStyleプロパティが'docked'に設定されている場合には、DockControlsプロパティを'off'に設定できません。'docked'オプションは、MATLAB Online でサポートされていません。
メモ
WindowStyle プロパティにはいくつかの重要な特徴と推奨されるベスト プラクティスがあります。
UI ウィンドウを作成するときは、常に
WindowStyleプロパティを指定します。さらに Figure のResize、PositionまたはOuterPositionプロパティも設定する場合は、WindowStyleプロパティを最初に設定します。Figure の
WindowStyleプロパティは、Figure が可視な場合や子オブジェクトを含む場合を含め、いつでも変更できます。ただし、一部のシステムではノーマル ウィンドウとモーダル ウィンドウの実装によっては、このプロパティを設定することで、Figure の点滅や非表示後に再表示される現象が発生する場合もあります。視覚的に最良な結果を得るには、WindowStyleプロパティの設定は、Figure の作成時または非表示のときに行います。Figure で
resetを呼び出してもWindowStyleプロパティ値は変更されません。
モーダル ウィンドウ スタイルの動作
WindowStyle が 'modal' に設定されている場合、Figure ウィンドウが可視である限り、Figure ウィンドウはすべての MATLAB ウィンドウ上のすべてのキーボード操作とマウス操作をトラップします。MATLAB 以外のアプリケーションのウィンドウには影響しません。
モーダルな Figure にフォーカスがあるときに Ctrl + C を入力すると、Figure は 'normal' WindowStyle プロパティ設定に戻ります。これによりユーザーはコマンド ラインに入力できます。
WindowStyle プロパティが 'modal' に、Visible プロパティが 'off' に設定された Figure は、MATLAB が表示しない限りモーダル動作になりません。このためモーダル ウィンドウを破棄する代わりに、後で再利用するために非表示にすることができます。
モーダルな Figure はメニューの子、組み込みのメニュー、ツール バーを表示しません。しかし、モーダルな Figure 内にメニューを作成したり、メニューの子をもつ Figure で WindowStyle プロパティの設定を 'modal' に変更したりするのは誤りではありません。その Menu オブジェクトは存在し、Figure はそれを維持します。Figure の WindowStyle プロパティを 'normal' にリセットすると、そのメニューが表示されます。
出力引数
ダイアログ ウィンドウ。次のプロパティ値が設定された Figure オブジェクトとして返されます。
| プロパティ | 値 |
|---|---|
ButtonDownFcn | 'if isempty(allchild(gcbf)), close(gcbf), end' |
DockControls | 'off' |
HandleVisibility | 'callback' |
IntegerHandle | 'off' |
InvertHardcopy | 'off' |
MenuBar | 'none' |
Number | [] |
NumberTitle | 'off' |
PaperPositionMode | 'auto' |
Resize | 'off' |
WindowStyle | 'modal' |
バージョン履歴
R2006a より前に導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)