version 11 (Modified)
DIALOG ({aTable; }form; *)
| 引数 | 型 | 説明 | |
| aTable | テーブル | フォームの属するテーブルまたは | |
| 省略した場合デフォルトテーブルまたは | |||
| プロジェクトフォームを使用 | |||
| form | フォーム | ダイアログとして表示するテーブルフォームまたは | |
| プロジェクトフォーム | |||
| * | * | 同じプロセスを使用 |
説明
DIALOGコマンドはユーザに対してフォームformを表示します。このコマンドは、変数を用いてユーザから情報を取得したり、処理を実行する際のオプションなど情報をユーザに表示するために、使用されます。
Open window コマンドで作成したモーダルウィンドウにフォームを表示するのは一般的な使用方法です。
典型的なダイアログの例を次に示します:
表示したり取得しなければならない情報がより複雑で、ALERT, CONFIRM, または Requestで処理できない場合、これらのコマンドの代わりにDIALOGを使用してください。
Note: 4D環境設定の互換性ページにあるオプションを使用して、ダイアログボックスのフィールドへのデータ入力を禁止し、変数にのみ入力可とすることができます。この制約は、以前のバージョンの4Dでの動作に相当します。
ADD RECORD や MODIFY RECORDと異なり、DIALOGはカレント入力フォームを使用しません。form引数で使用するフォーム (プロジェクトフォームまたはテーブルフォーム) を指定しなければなりません。また、ボタンを省略した場合でもデフォルトボタンパネルは表示されません。この場合、Escape(Windows)キーまたはEsc(Mac OS)キーを使用してのみフォームを終了できます。
ユーザが保存ボタンをクリック、またはテンキー上の“enter”キーを押す、またはACCEPTコマンドが実行された場合、ダイアログが受け入れられます。
ダイアログの受け入れが保存を行わないことを覚えておいてください。ダイアログにフィールドが含まれる場合、更新されたデータを保存するには明示的にSAVE RECORD コマンドを呼ばなければなりません。
ユーザがキャンセルボタンをクリック、またはキャンセルキーコンビネーション (WindowsではCtrl-ピリオド、Mac OSではCommand-ピリオド) を押す、またはCANCELコマンドが実行された場合には、ダイアログはキャンセルされます。
オプションの * 引数を渡すと、フォームはカレントプロセスで最後に開かれたウィンドウにロードされ、コマンドはフォームをスクリーン上でアクティブにしたまま実行を終了します。
このフォームはユーザアクションに対し通常通り反応し、フォームに関連する4Dコード (オブジェクトメソッドやフォームメソッド) がCANCEL や ACCEPT コマンドを呼び出すと閉じられます。カレントプロセスが終了すると、この方法で作成されたフォームは、CANCELコマンドが呼ばれたのと同じ方法で自動で閉じられます。この方法は特に、別のプロセスを起動する必要なく、ドキュメントと一緒にフローティングパレットを表示できる点で有用です。
DIALOGの呼び出し後、システム変数OKにはダイアログが受け入れられると1が、キャンセルされると0が設定されます。
例題
1. 以下の例題は、検索条件を指定するためにDIALOGを使用します。変数vName と vState が置かれたフォームが表示され、ユーザは検索条件を入力できます:
Open window (10;40;370;220) ` モーダルウィンドウを表示
DIALOG("Search Dialog") ` カスタム検索ダイアログを表示
CLOSE WINDOW ` モーダルウィンドウは必要ない
If (OK=1) ` ダイアログが受け入れられれば
QUERY ([Company];[Company]Name=vName;*)
QUERY ([Company];&;[Company]State=vState)
End if
2. 以下の例題はツールパレットを作成するために使用できます:
`ツールパレットの表示
$palette_window:=Open form window("tools";Palette form window)
DIALOG("tools";*) `即座にコントロールを返す
`メインのドキュメントウィンドウを表示
$document_window:=Open form window("doc";Plain form window)
DIALOG("doc")
参照
ACCEPT, ADD RECORD, CANCEL, Open window.
システム変数またはセット
DIALOGの呼び出し後、システム変数OKにはダイアログが受け入れられると1が、キャンセルされると0が設定されます。