DrawTextFlowColumns

文本、布局

描述

在一个页面区域中,通过等宽列从左至右排布剩余文本

语法

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);

参数

FlowID由 NewTextFlow 返回的句柄
Left, Top完整列区域的左上位置
Width, Height完整列区域的可用大小
Columns从 1 到 64 的等宽列数
Gutter相邻列之间的非负间距
Balance0 将每列填充至完整高度,1 平衡已完成区域

返回值

返回绘制的总行数,没有内容可容纳、句柄无效或几何参数无效时返回 0

备注

当 Balance 为 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