DrawTextFlowColumns

Text, rozvržení

Popis

Zbývající text proudí zleva doprava do sloupců stejné šířky v jedné oblasti stránky

Syntaxe

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

Parametry

FlowIDPopisovač vrácený funkcí NewTextFlow
Left, TopPozice kompletní sloupcové oblasti vlevo nahoře
Width, HeightDostupná velikost pro celou sloupcovou oblast
ColumnsPočet sloupců stejné šířky od 1 do 64
GutterNezáporná mezera mezi sousedními sloupci
Balance0 vyplní každý sloupec do plné výšky, 1 vyrovná dokončenou oblast

Návratové hodnoty

Vrací celkový počet nakreslených řádků, nebo 0, když se nic nevejde, je handle neplatné, nebo je geometrie neplatná

Poznámky

Když je Balance 1 a všechen zbývající text se vejde do kompletní oblasti, funkce rozdělí přesný zbývající počet řádek napříč požadovanými sloupci

Když zbývá více textu, než může oblast pojmout, každý sloupec drží plnou požadovanou výšku, takže kapacita se nesnižuje na mezistránkách

Vyvažování měří jen do jedné řádky nad kapacitou oblasti, čímž se vyhne úplnému skenu dlouhého úseku, který musí pokračovat na další stránku

Neplatná geometrie a oblast příliš krátká pro jednu řádku ponechají kurzor toku beze změny

Příklad

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;

Viz také

DrawTextFlow, MeasureTextFlow, SetTextFlowMinLines