# フォームのダイアログ表示

トレーニング > 応用編 > 共通ダイアログ > # フォームのダイアログ表示 |

画面からの操作指示をポップアップ表示した子画面から行いたい、といったニーズは多くあります。FA-Panelでは作成したフォームをダイアログ画面として表示することが可能で、ユーザが作成した操作画面をダイアログとして表示することができます。ここでは、フォームをダイアログ表示する方法について学習します。

今回は、「コモンダイアログ表示」で作成したフォームを利用します。

フォームをダイアログとして表示する

ダイアログ用にフォームを１つ追加し、ボタンクリックによって独自のダイアログ（フォーム）として表示してみます。

1.ダイアログ用のフォームを作成します。フォルダを右クリックして「フォームの追加」を行います。
ダイアログ表示したいフォームを追加します。ここでは、名称（Nameプロパティ）を“dialog1”とします。
フォームを追加したら、フォームのサイズを小さく設定します。ここでは400×200とします。このサイズがダイアログ表示した時の画面サイズになります。
フォームにラベルコントロールとボタンコントロールを貼り付け、以下の表示となるように設定してください。
OKボタンのイベント設定は後ほど行います。

2.Form01フォームで、ダイアログの呼び出しボタンを作成します。ボタンコントロールを一つ追加します。
ボタンコントロールを貼り付けたら、以下のプロパティを編集します。
・Textを“ダイアログ”に変更

3.ダイアログボタンのスクリプトに呼び出しスクリプトを記述します。
ダイアログボタンのOnMouseUpイベントを追加して、以下のスクリプトを記述して下さい。

::OpenDialog( "Dialog1Form", "dialog1", "Dialog1Test", "ダイアログサンプル", -1, -1);

| OpenDialogメソッドは、フォームをダイアログ表示するためのメソッドです。一番目のパラメータで指定した“Dialog1Form”の部分が、ダイアログを閉じるときにCloseDialogメソッドから指定するフォーム名になります。二番目のパラメータで指定した“dialog1”の部分が、ダイアログ表示したい実フォーム名称です。詳細は「OpenDialog」の記述を参照してください。

4.dialog1フォームのOKボタンにダイアログ自身の終了処理を作成します。
dialog1フォームに作成したOKボタンのOnMouseUpイベントに以下のスクリプトを記述します。ここでは、特別な処理は何も行わず、ダイアログを終了するのみとします。

::CloseDialog("Dialog1Form");

| CloseDialogメソッドで指定するフォーム名は、OpenDialogメソッドの一番目のパラメータで指定した内容です。詳細は「CloseDialog」の記述を参照してください。

動作確認

1.Panel Editorの下図のアイコンをクリックすると、Panel Browserが起動し、クライアント設定ファイルが開かれて実行されます。

2.ダイアログボタンをクリックします。
作成したフォーム“dialog1”がダイアログ表示されました。ダイアログ画面は、ダイアログ以外の部分をマウスでクリックしても元のフォームの下に隠れません。OKボタンをクリックしてダイアログが閉じることを確認してください。

| 本手順では、ダイアログ表示したダイアログ画面は、元のフォームの下には隠れませんが元のフォームの操作をする事ができる状態です。これを防ぐ為には、「OpenDialog」の直後に「SetModalDialog」を呼び出します。