LISTBOX GET OBJECTS
LISTBOX GET OBJECTS ( {* ;} object ; arrObjectNames )
引数 | 型 | 説明 | |
---|---|---|---|
* | 演算子 | → | 指定時、 Object はオブジェクト名(文字列) 省略時、 Object は変数 |
object | any | → | オブジェクト名(* 指定時)、 または変数(* 省略時) |
arrObjectNames | Text array | ← | リストボックスを構成するサブオブジェクト名(ヘッダー、列、フッター) |
このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。
説明
LISTBOX GET OBJECTS コマンドは 、object と*** 演算子で指定したリストボックスを構成するオブジェクトの、それぞれの名前を含んだ配列を返します。
任意の * 演算子を渡した場合、 object 引数でオブジェクト名を文字列で指定します。省略時には object 引数で変数を指定します。この場合、文字列ではなく変数参照を渡します。
arrObjectNames には、コマンドからの配列を受け取るテキスト配列を渡します。配列には、オブジェクト名が以下の規則に従って表示順に返されます:
nameCol1 |
---|
headerNameCol1 |
footerNameCol1 |
nameCol2 |
headerNameCol2 |
footerNameCol2 |
... |
配列には、表示非表示に関わらず、全ての列に関して(列のフッターを含む)オブジェクト名が返されます。
このコマンドは FORM LOAD、FORM GET OBJECTS と OBJECT Get type コマンドを使用してフォームを解析する際に有用です。必要に応じてリストボックスのサブオブジェクトの名前を取得するために使用することができます。
例題
フォームをロードし、そこに内包される全てのリストボックスオブジェクトの一覧を取得する場合:
FORM LOAD("MyForm")
ARRAY TEXT(arrObjects;0)
FORM GET OBJECTS(arrObjects)
ARRAY LONGINT(ar_type;Size of array(arrObjects))
For($i;1;Size of array(arrObjects))
ar_type{$i}:=OBJECT Get type(*;arrObjects{$i})
If(ar_type{$i}=Object type listbox)
ARRAY TEXT(arrLBObjects;0)
LISTBOX GET OBJECTS(*;arrObjects{$i};arrLBObjects)
End if
End for
FORM UNLOAD