メインコンテンツまでスキップ
バージョン: 開発中

LISTBOX GET PRINT INFORMATION

LISTBOX GET PRINT INFORMATION ( {* ;} object ; selector ; info )

引数説明
*演算子指定時、objectはオブジェクト名 (文字列)
省略時、objectは変数
objectanyオブジェクト名 (* 指定時) または
変数 (* 省略時)
selectorInteger取得する情報
infoInteger現在の値

このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。

説明

LISTBOX GET PRINT INFORMATION コマンドは objectと***で指定したリストボックスオブジェクトの印刷に関連する現在の情報を返します。このコマンドを使用してリストボックスの内容の印刷を制御します。

オプションの * 引数を渡した場合、object引数はオブジェクト名 (文字列) です。この引数を渡さない場合objectは変数です。この場合、文字列ではなく変数参照を渡します。

このコマンドはPrint objectコマンドによるリストボックスの印刷のコンテキストで呼ばれなければなりません。このコンテキスト外では、意味のある値を返しません。

selectorに知りたい情報を示す値を渡し、infoには数値またはブール変数を渡します。selectorには"List Box"テーマの以下の定数を渡します:

定数コメント
lk last printed row number倍長整数0infoに印刷された最後の行番号を返します。これにより次に印刷される行の番号が分かります。
リストボックスに非表示行が存在したりOBJECT SET SCROLL POSITIONコマンドが呼び出されていたりすると、返される値は実際に印刷された行数よりも、大きくなることがあります。例えば行番号1, 18そして20が印刷されると、infoには20が返されます。
lk printed height倍長整数3infoに実際に印刷されたオブジェクトの高さをピクセル単位で返します (ヘッダーや線等を含む)。印刷する行数がリストボックスの高さに満たない場合、高さは自動で減らされます。
lk printed rows倍長整数1さいごのPrint object最後のコマンド呼び出し時に実際に印刷された行数をinfoに返します。この数値には階層リストボックスの場合に追加されたブレーク行も含まれます。例えばリストボックスに20行あり、奇数行が隠されている場合、infoは10になります。
lk printing is over倍長整数2リストボックスの最後の (表示) 行が印刷されたかどうかを示すブール値をinfoに返します。True = 行は印刷された; そうでなければFalse。

リストボックスの印刷に関する原則についてはリストボックスの印刷を参照してください。

例題 1

すべての行が印刷されるまで印刷を行う:

 OPEN PRINTING JOB
 FORM LOAD("SalesForm")
 
 $Over:=False
 Repeat
    $Total:=Print object(*;"mylistbox")
    LISTBOX GET PRINT INFORMATION(*;"mylistbox";lk printing is over;$Over)
    PAGE BREAK
 Until($Over)
 
 CLOSE PRINTING JOB

例題 2

特定の行が隠されていて、リストボックスを最低500行印刷する:

 $GlobalPrinted:=0
 Repeat
    $Total:=Print object(*;"mylistbox")
    LISTBOX GET PRINT INFORMATION(*;"mylistbox";lk printed rows;$Printed)
    $GlobalPrinted:=$GlobalPrinted+$Printed
    PAGE BREAK
 Until($GlobalPrinted>=500)