DrawTextFlowColumns

テキスト、レイアウト

説明

1 ページ内の領域で、残りのテキストを左から右へ同じ幅の列に流し込みます

構文

Delphi

Function TPDFlib.DrawTextFlowColumns(FlowID: Integer; Left, Top, Width, Height: Double; Columns: Integer; Gutter: Double; Balance: Integer): Integer;

ActiveX

Function PDFlib::DrawTextFlowColumns(FlowID As Long, Left As Double, Top As Double, Width As Double, Height As Double, Columns As Long, Gutter As Double, Balance As Long) As Long

DLL

int DLDrawTextFlowColumns(int InstanceID, int FlowID, double Left, double Top, double Width, double Height, int Columns, double Gutter, int Balance);

パラメータ

FlowIDNewTextFlow が返すハンドル
Left, Top列領域全体の左上位置
Width, Height列領域全体で利用可能なサイズ
Columns1~64 の同じ幅の列数
Gutter隣接列間の 0 以上の間隔
Balance0 は各列を全高まで埋め、1 は完了した領域の均衡を取ります

戻り値

描画行総数を返します。何も収まらない、ハンドルまたはジオメトリが無効なら 0

備考

Balance が 1 で、残りのテキストが完全な領域にすべて収まる場合、関数は残りの正確な行数を要求された列に分割します

領域に収まる量より多くのテキストが残る場合、すべての列が要求された全高を保持するため、中間ページで容量が減少しません

均等化では領域容量を 1 行だけ超える位置までしか測定せず、別ページへ続く必要がある長い文章全体のスキャンを回避します

ジオメトリが無効、または領域が 1 行にも満たない場合、フローカーソルは変わりません

例

while PDF.TextFlowFinished(Flow)= 0 do
begin
  PDF.DrawTextFlowColumns(Flow, 50, 60, 495, 720, 3, 18, 1);
  if PDF.TextFlowFinished(Flow)= 0 then PDF.NewPage;
end;

関連項目

DrawTextFlow、MeasureTextFlow、SetTextFlowMinLines