新規コモンダイアログを作成する

<< Click to Display Table of Contents >>

マニュアル > 画面作成ガイド > ダイアログ/フレーム/ビュー > コモンダイアログ >

新規コモンダイアログを作成する

新規コモンダイアログを作成する

コモンダイアログをカスタマイズする」で紹介したカスタマイズ方法では、コモンダイアログは各種類で1つの体裁しか持つことができませんでした。しかしながら、この方法では、例えばテキストキーを使用する場面が複数あるような場合に、画面の種類や入力する場面に応じていくつかの種類のテキストキーを切り替えて表示したいようなニーズには対応できません。

 

そのような場合の解決策として、「rc.xml」から対象のコモンダイアログのフォームをコピーしてフォーム名を変更してカスタマイズし、別のコモンダイアログとして利用する方法が用意されています。又、この方法のためのメソッドとして「OpenCommonDialog」という共通メソッドが用意されており、フォーム名を変更したコモンダイアログはこのメソッドによって呼び出すことができます。

 

 

 

サンプルのダウンロード

コモンダイアログのサンプルは以下からダウンロードすることができます。

 

 

上記には、以下のファイルが含まれています。

 

rc.xml

 

コモンダイアログの元フォームです。

sample_dialog_customize.xml

 

コモンダイアログのカスタマイズ例です。「コモンダイアログのをカスタマイズする」で紹介されている手順によって実際に作成された設定ファイルです。

 

sample_dialog_new.xml

コモンダイアログのカスタマイズ例です。「新規コモンダイアログを作成する」及び「OpenCommonDialogを使用しない新規コモンダイアログ表示(応用編)」で紹介されている手順によって実際に作成された設定ファイルです。

 

 

 

 

新規コモンダイアログの作成例

この方法の大まかな流れは以下のとおりです。

 

1)Panel Editorでrc.xmlを開き、カスタマイズしたいコモンダイアログのフォームをコピーする。

 

2)別のPanel Editorを起動してターゲットの設定ファイルを開き、先ほどコピーしたコモンダイアログのフォームを貼り付けする。

 

3)コモンダイアログのフォームのレイアウトを自由に変更して保存する。

 

4)カスタマイズしたフォームの名称を別の名前に変更する。

 

5)カスタマイズしたフォームをOpenCommonDialogメソッドで表示する。

 

 

以下は、カスタマイズ手順の例です。

この例では、標準のテキストキーとは別に、カスタマイズしたテキストキーを新規に追加します。

 

 

1.Panel Editorを起動し、開発ターゲットの設定ファイルを開く

 

2.Panel Editorをもう一つ起動し、「rc.xml」を開く

 

3.RCTextKeyフォームを選択してコピーする

 

fap_dialog_0025

 

4.ターゲットの設定ファイルに、RCTextKeyを貼付けする

 

fap_dialog_0026

 

5.RCTextKeyフォームのレイアウトをカスタマイズする

 

6.カスタマイズしたフォームの名称を変更する

 

ここでは、RCTextKeyフォームの名称をRCTextKey2に変更します。

 

fap_dialog_0027

 

7.カスタマイズしたフォームをコモンダイアログとして呼び出す

 

新規に作成したコモンダイアログの呼び出しは、OpenCommonDialogメソッドで行います。OpenCommonDialogの第一引数にはPanel Editorで変更したフォーム名を指定して下さい。

 

試しに、フォームにエディットボックスを2つ貼り付け、以下のようにコモンダイアログを呼び出すスクリプトを記述してみてください。

//エディットボックス1のスクリプト
event OnMouseDown(button)
{
	::OpenTextKeyEdit(this);	//標準のテキストキー
}

//エディットボックス2のスクリプト
event OnMouseDown(button)
{
	::OpenCommonDialog("RCTextKey2", "SetInfoEdit", this);	//カスタマイズしたテキストキー
}

 

Panel Browserで実行し、それぞれのエディットボックスがクリックされた時に、標準のテキストキーボードと、カスタマイズしたテキストキーボードの両方が正しく表示されることを確認してください。

 

 

hint

OpenCommonDialogメソッドで表示したコモンダイアログを閉じるには、CloseCommonDialogメソッドを呼び出して下さい。

 

 例) ::CloseCommonDialog("RCTextKey2");