以下のコマンドはリストボックスに対して、あるいはヘッダー、フッター、行、カラムなど、リストボックスの一部に対して使用できます。
(1) 以下の段落を参照してください。
(2) 最初の選択された行または指定された行が表示されるようにリストボックス行をスクロールします。
(3) ヘッダーまたはフッターに対してOBJECT SET VISIBLE が使用された場合、コマンドによって設定された個別の要素に関わらず、すべてのリスボックスオブジェクトのヘッダーまたはフッターに対して適用されます。例えば、OBJECT SET VISIBLE(*;"header3";False) というコードは、"header3"というヘッダーだけではなく、header3 が所属するリストボックスオブジェクト内のすべてのヘッダーを非表示にします。OBJECT SET VISIBLE コマンドを使用してこれらのオブジェクトの表示状態を管理するためには、それらの表示状態がリストボックスのプロパティに表示されている必要があるということに注意してください。
Object with focusやObject current定数とともに使用されるOBJECT Get pointer (以前のFocus object と Self) はリストボックスやリストボックス列のオブジェクトメソッドで使用できます。これらはフォームイベントのタイプに基づきリストボックス、リストボックス列(1)、ヘッダー変数、またはフッター変数へのポインターを返します。以下の表に動作をまとめます:
イベント | フォーカスのあるオブジェクト | カレントのオブジェクト |
On Clicked | リストボックス | 列 |
On Double Clicked | リストボックス | 列 |
On Before Keystroke | 列 | 列 |
On After Keystroke | 列 | 列 |
On After Edit | 列 | 列 |
On Getting Focus | 列またはリストボックス (*) | 列またはリストボックス (*) |
On Losing Focus | 列またはリストボックス (*) | 列またはリストボックス (*) |
On Drop | リストボックスソース | リストボックス (*) |
On Drag Over | リストボックスソース | リストボックス (*) |
On Begin Drag Over | リストボックス | リストボックス (*) |
On Mouse Enter | リストボックス (**) | リストボックス (**) |
On Mouse Move | リストボックス (**) | リストボックス (**) |
On Mouse Leave | リストボックス (**) | リストボックス (**) |
On Data Change | 列 | 列 |
On Selection Change | リストボックス (**) | リストボックス (**) |
On Before Data Entry | 列 | 列 |
On Column Moved | リストボックス | 列 |
On Row Moved | リストボックス | リストボックス |
On Column Resize | リストボックス | 列 |
On Open Detail | Nil | リストボックス (**) |
On Close Detail | Nil | リストボックス (**) |
On Header Click | リストボックス | ヘッダー |
On Footer Click | リストボックス | フッター |
On After Sort | リストボックス | ヘッダ |
(*) リストボックス中でフォーカスが更新されると、列へのポインターが返されます。フォームレベル上でフォーカスが更新されると、リストボックスへのポインターが返されます。列のオブジェクトメソッドのコンテキストでは、列へのポインターが返されます。
(**) 列のオブジェクトメソッドのコンテキストでは実行されません。
(1) 列へのポインターが返された時、指し示すオブジェクトはリストボックスのタイプによります。配列型のリストボックスにおいて、OBJECT Get pointer("ユーザーインターフェース"テーマ)は、フォーカスを取得したリストボックスの列(つまり配列)へのポインターを返します。 4Dのポインターのメカニズムを利用し、修正された配列の項目番号を調べることができます。例えば、ユーザーが列col2の5行目を変更した場合は、次の ようになります:
セレクション型のリストボックスで、OBJECT Get pointerは以下を返します:
- フィールドが関連付けられた列の場合、そのフィールドへのポインター
- 変数が関連付けられた列の場合、その変数へのポインター
- 式が関連付けられた列の場合、Is nil pointerポインター