階層構造をもつ配列オブジェクトの操作

 

階層化されたオブジェクトを配列として生成することができます。

 

Form frm {
    Width = 800;
    Height = 600;
    Form fArray[3] {
        X = 10;
        Y = 10;
        Width = 190;
        Height = 100;
        Border = $TRUE;
        LayoutMargin = 2;
        Button btn {
            X = 10;
            Y = 10;
            Width = 170;
            Height = 30;
            Title = "button";
        }
        Button btnArray[3] {
            X = 10;
            Y = 50;
            Width = 50;
            Height = 30;
            Layout = $HORIZONTAL;
            LayoutMargin = 10;
            Title &= str(Index + 1) + "";
        }
    }
}

 

 

 

このような構造をもつ配列に対しても、InsertDeleteメソッドにより、配列要素の操作を行うことができます。

 

frm.fArray[1].Delete();

を実行した結果の表示

 

 

frm.fArray[1].btnArray[2].Delete();
frm.fArray[0].btnArray.Insert(1);

を実行した結果の表示

 

 

 

配列化されたオブジェクトからGETメソッドにより、配列要素に対して別のCRSスクリプトをロードして実行することができます。

 

Form frm {
    Width = 800;
    Height = 600;
    Form fArray[3] {
        X = 10;
        Y = 10;
        Width = 190;
        Height = 90;
        Border = $TRUE;
        LayoutMargin = 2;
    }
    f[0].Get("frm1.crs");
    f[1].Get("frm2.crs");
    f[2].Get("frm3.crs");
}

 

 

この例の場合、frm.fArrayは配列オブジェクトとなりますが、個別にロードされたCRSスクリプトに定義されているチェックボックスやボタンはfrm.fArrayの配列とは関連せず、個々の配列要素に固有のオブジェクトツリーに接続される事に注意してください。従って、frm.fArray.Insert()を実行しても、fArrayの新しい要素には何もオブジェクトは表示されません。

 



「オンラインマニュアル」一覧へ戻る
「Bizの宝箱」TOPへ戻る