オブジェクト名/フォーム名/ビュー名

<< Click to Display Table of Contents >>

マニュアル > 画面作成ガイド > スクリプト > オブジェクトとスクリプト >

オブジェクト名/フォーム名/ビュー名

オブジェクト名

オブジェクトには名前を付けることができます。オブジェクトの名前はNameプロパティで設定します。名前は開発時にPanel Editorで設定します。ランタイム中にオブジェクト名を変更することはできません。

 

フォームには必ず名前をつける必要がありますが、コントロールオブジェクトには必ずしも名前をつけなくてもかまいません(デフォルトではNameプロパティは空欄になっています)。例えば、スクリプトで絶対パス参照を行うような場合には、オブジェクト名を付ける必要があります。

 

hint

オブジェクトの命名については、「命名規則」を参照して下さい。

 

attention

オブジェクト名には重複した名前をつけることができますが、基本的に同じ階層内で重複したオブジェクト名は付けないようにして下さい(もし重複するオブジェクト名が混在したとしても、特にエラー等は表示されません)。もしも、複数のオブジェクトに重複する名前が付けられた状態で絶対パス参照が行われた場合、名称が重複する複数のコントロールのうちどのコントロールが参照されるのかは保障されません。

 

hint

ルートオブジェクトには"root"という名前が付いています。これまでに解説してきた「::」以外にも、絶対パスとして以下のような指定も可能です。

 

   root.Form01.FillColor   // ::Form01.FillColorと同じ意味

 

尚、「::」は「root.」の省略記号です。

 

 

フォーム名

フォームには必ず名前をつけます。又、フォームは開いていない状態では、スクリプトから操作することはできません。フォームを開くためにはルートメソッドの「OpenForm」を使用します。以下のようにOpenForm呼び出しの直後から、スクリプトからフォームを参照することができるようになります。

 

::OpenForm("Form01");

::Form01.FillColor = "#00FF00";

 

Ver6以降では、同一のフォーム名であってもフォルダを分けて管理することが可能となりました。フォルダ名を指定してフォームを開く際には、以下のようにフォルダ名とフォーム名を「.」(ピリオド)で区切って指定します。

 

::OpenForm("Folder01.Form01");

 

尚、上例のようにフォルダ名を指定してフォームを開いた場合、スクリプトから当該フォームのオブジェクトを参照する際には、フォルダ名とフォーム名の区切り文字に指定した「.」(ピリオド)を、「_」(アンダーバー)に置き換えて参照する必要があります。

 

::OpenForm("Folder01.Form01");

::Folder01_Form01.FillColor = "#00FF00";

 

 

hint

OpenFormメソッド等でフォームを指定する際には、フォーム名が一意の名称の場合はフォルダを含めて指定する必要はありません(フォルダ名を指定してフォームを開いた場合、スクリプトからアクセスする際に上例のような注意が必要となるため、フォルダ指定が不要な場合はフォーム名のみを指定するようにします)。

 

hint

GetFormルートメソッドを使用してフォームオブジェクトにアクセスする方法もあります。詳しくはGetFormルートメソッドを参照してください。

 

var vObj = ::GetForm("Folder01.Form01");
::OpenMsg(vObj.Comment);

 

 

 

ビュー名

フォームをビューコントロール、フレーム、及びダイアログで開く際に、どのビュー(表示エリア)で表示するかを指定する為、ビュー名を指定します。各ビュー名は以下の設定で決定されます。

 

ビュー種別

解説

メインビュー

メインビューとは、デフォルトで定義してある「MainView」という固定名です。メインビューはフレームを使用しない場合、「OpenForm」による表示されるエリアがメインビューとなります。ルートプロパティの「DefaultFrame」にフレーム設定がされた場合、FRAMESETのMainパラメータで指定されたフレームがメインビューとなります。

 

フレーム内ビュー

ルートプロパティ「DefaultFrame」のフレーム設定で各FRAMEのNameパラメーターで指定した名前がビュー名となります。

 

ビューコントロール

ビューコントロールの「ViewName」プロパティで指定した名前がビュー名となります。

 

ダイアログ

OpenDialog」の第1引数で指定した名前がビュー名となります。

 

 

これらのビュー名を設定すると、以下のルートメソッドの引数ViewNameで指定が可能となります。

OpenViewForm / OpenHomeForm / ClearFormHistory / OpenPrevForm / OpenNextForm / IsHaveNextForm / IsHavePrevForm / GetCurrentForm /ResetZoom / SetZoom / GetZoom / SetStretch

 
ダイアログでは、前述のメソッドに加えて、以下のルートメソッドの引数ViewNameでも指定が可能です。

ShowDialog / BringDialogToTop / SetModalDialog / CloseDialog

 
 

ビュー毎のフォームの開き方

ビュー毎の初期表示の扱い方について
ビュー毎の初期表示の扱い方は以下の通りです。

 

ビュー種別

解説

メインビュー

ルートプロパティの「DefaultForm」で指定されたフォームを表示。

 

フレーム内ビュー

ルートプロパティ「DefaultFrame」のフレーム設定で各FRAMEのBaseFormNameで指定されたフォームを表示。但し、FRAMESETのMainパラメータで指定されたフレームについては、メインビューとしてルートプロパティの「DefualtForm」で指定されたフォームを表示。

 

ビューコントロール

ビューコントロールの「BasedFormName」/「FormName」プロパティで指定されたフォームを表示。

 

ダイアログ

OpenDialog」の第二引数で指定したフォームを表示。

 

フォームをダイアログとして開くためには、共通メソッドの「OpenDialog」を使用します。以下のようにOpenDialog呼び出し直後から絶対パスが利用できます。

 

::OpenDialog("ViewDialog", "Form01");

::Form01.FillColor = "#00FF00";

 

同じフォームを元に複数のダイアログを開く場合、絶対パスが重複する為、フォーム名(第3引数)とビュー名(第1引数)を異なる名前で指定する事で利用できます。

 

::OpenDialog("ViewDialog1", "Form01", "Dialog1");

::OpenDialog("ViewDialog2", "Form01", "Dialog2");

 
::Dialog1.FillColor = "#00FF00";

::Dialog2.FillColor = "#FF0000";

 

尚、OpenDalogメソッドの第2引数に渡す元フォームのフォーム名には、フォルダ名を含めてフォームを指定することもできます(フォルダ名.フォーム名)。