DrawTextFlowColumns

Texto, Layout

Descrição

Fluxa o texto restante da esquerda para a direita por colunas de larguras iguais em uma região da página

Sintaxe

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

Parâmetros

FlowIDHandle retornado por NewTextFlow
Left, TopPosição superior esquerda da região completa da coluna
Width, HeightTamanho disponível para a região completa da coluna
ColumnsNúmero de colunas de largura igual, de 1 a 64
GutterEspaço não negativo entre colunas adjacentes
Balance0 preenche cada coluna até a altura total, enquanto 1 equilibra uma região concluída

Valores retornados

Retorna o número total de linhas desenhadas, ou 0 quando nada cabe, o handle é inválido ou a geometria é inválida

Observações

Quando Balance é 1 e todo o texto restante cabe na região completa, a função divide a contagem exata de linhas restantes entre as colunas solicitadas

Quando resta mais texto do que a região comporta, cada coluna mantém a altura total solicitada para que a capacidade não seja reduzida nas páginas intermediárias

O balanceamento mede apenas até uma linha além da capacidade da região, evitando uma varredura completa de uma passagem longa que deve continuar em outra página

Geometria inválida e uma região curta demais para uma linha deixam o cursor de fluxo inalterado

Exemplo

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;

Veja também

DrawTextFlow, MeasureTextFlow, SetTextFlowMinLines