4D v13.4

OBJECT SET SCROLL POSITION

ホーム

 
4D v13.4
OBJECT SET SCROLL POSITION

OBJECT SET SCROLL POSITION 


 

OBJECT SET SCROLL POSITION ( {* ;} object {; vPosition {; hPosition}}{; *} ) 
引数   説明
演算子 in 指定された場合、オブジェクトがオブジェクト名 (文字列) 省略された場合、オブジェクトがテーブルまたは変数
object  フォームオブジェクト in オブジェクト名 ( * が指定された場合) または テーブルまたは変数 ( * が省略された場合)
vPosition  倍長整数 in 表示する行番号、またはピクチャーの場合縦スクロール量 (ピクセル)
hPosition  倍長整数 in リストボックスの場合表示する列番号、またはピクチャーの場合縦スクロール量 (ピクセル)
演算子 in スクロール後の最初の位置に行を表示 (hPositionが渡された場合、列も対象)

説明   

OBJECT SET SCROLL POSITIONコマンドを使用して、 (MODIFY SELECTIONまたは[#cmdid="59"/]コマンドを用いて表示される) リストフォーム、サブフォーム、階層リストなどの行、あるいはリストボックスの列や行、そしてさらにピクチャのピクセルをスクロールすることができます。

: プログラムによるスクロールは、フォーム上でスクロールバーが隠されていても可能です。

最初のオプション引数 * を渡すと、引数 object は、サブフォーム、階層リスト、リストボックス、ピクチャーフィールド/変数オブジェクトの名前であることを指示します (この場合、文字列を object に渡します) 。この引数に何も渡さないと、引数 object は、テーブル (リストフォームテーブルまたはサブフォームテーブル) または変数 (階層リストのListRef、リストボックス、またはピクチャ) であることを示します。

vPosition引数を使用して、表示する行番号を指定したり、ピクチャーの場合は適用する縦スクロール量を指定できます。
この引数を渡さないと、コマンドは選択されている最初の行が表示されるように縦スクロールを実行します。この場合、行が選択されていなかったり、選択された行が一つでも表示されていれば、縦スクロールは実行されません。
この引数を渡すと、コマンドは、設定された行が (ハイライトされているかいないかに関わらず)、指定された行が表示されるようにリストの縦スクロールを行います。行がすでに表示されていると、2番目の * 引数が渡されていない限り、コマンドはなにも行いません (後述)。

  • リストフォームとサブフォームにおいて、この番号はカレントセレクション中の行番号 (位置) です。
  • 階層リストの場合、コマンドは項目の展開/折りたたみ状態を考慮します。
  • リストボックスの場合、この番号は (非表示行を含む) すべてのオブジェクト行中の行番号です。vPosition に渡された番号がリストボックスの非表示行に対応する場合、コマンドは続く最初の表示行を表示します。

    注: このコマンドは、たとえリストボックスが階層モードで表示されていたとしても、非階層の標準表示に基づいて実行される点に留意してください。リストボックスが階層モードあるいは標準モードどちらで表示されているかによって結果は異なります (例題参照)。

  • フォームに表示されているピクチャーの場合、vPosition はピクチャーに適用される縦スクロール量を示します。縦スクロールを行わない場合、vPositionに0を渡します。値はローカルコンテキスト中でピクチャの基点に対し相対的なピクセルで表現しなければなりません (二番目の引数に * を渡した場合を除く、後述参照)。ピクチャは"トランケート (中央合わせなし)" フォーマットで表示されなければなりません。

hPosition 引数はリストボックスとピクチャーのコンテキストで使用できます。

  • リストボックスの場合、hPositionに列番号を渡すことができます。コマンドを実行するとリストボックスを横スクロールし、指定した列が表示されます。列がすでに表示されている場合、コマンドはなにも行いません。縦スクロールと同様、2番目のオプション引数 * を渡すと、コマンドによって表示された列は先頭位置に配置されます (リストボックスが実際にスクロールされた場合。後述)。
  • フォームに表示されたピクチャーの場合、hPosition はピクチャーに適用される横スクロール量を示します。値はローカルコンテキスト中でピクチャの基点に対し相対的なピクセルで表現しなければなりません (二番目の引数に * を渡した場合を除く、後述参照)。

二番目のオプション引数 * を渡すと:

  • このコマンドで表示された行は (リストが実際にスクロールされると)、リスト中の先頭に配置されます。行がリストの最後の行である場合、このオプションは効果を持ちません。
  • ピクチャーの場合、起点ではなく現在の位置から相対的にスクロールを行います。

: HIGHLIGHT RECORDSコマンドはオプション引数 * を使用してスクロール管理をOBJECT SET SCROLL POSITIONコマンドに委譲することができます。

例題  

この例題ではリストボックスが標準モードで表示されている場合と階層モードで表示されている場合の違いについて説明します:

 OBJECT SET SCROLL POSITION(*;"mylistbox";4;2;*) // displays 4th row of 2nd column of list box in the first position

このステートメントが標準モードで表示されているリストボックスに適用されると:

リストボックスの行と列が実際にスクロールされます:

他方同じステートメントが階層モードのリストボックスに適用されると、行はスクロールされますが、2番目の列は階層の一部なので列はスクロールされません:

 
プロパティ 

プロダクト: 4D
テーマ: オブジェクトプロパティ
番号: 906

 
目次

コマンドリスト (文字順)

 
履歴 

変更: 4D v11 SQL
変更: 4D v12
名称変更: 4D v12

 
参照 

HIGHLIGHT RECORDS
LISTBOX SELECT ROW
OBJECT GET SCROLL POSITION