AutoFitTableColumns

Sidelayout, tabeller

Beskrivelse

Måler indholdet i formaterede tabelceller og tildeler hver kolonne en bredde, der nøjagtigt udfylder den ønskede tabelbredde

Syntaks

Delphi

Function TPDFlib.AutoFitTableColumns(TableID: Integer; TotalWidth, MinColumnWidth, MaxColumnWidth: Double): Integer;

ActiveX

Function PDFlib::AutoFitTableColumns(TableID As Long, TotalWidth As Double, MinColumnWidth As Double, MaxColumnWidth As Double) As Long

DLL

int DLAutoFitTableColumns(int InstanceID, int TableID, double TotalWidth, double MinColumnWidth, double MaxColumnWidth);

Parametre

TableIDHandle returneret af CreateTable
TotalWidthDen nøjagtige samlede bredde, der skal fordeles på alle kolonner i det aktuelle koordinatsystem
MinColumnWidthPositiv fast minimumsværdi, der anvendes på hver kolonne
MaxColumnWidthFast maksimum, der anvendes på hver kolonne, og som ikke er mindre end MinColumnWidth

Returværdier

Returnerer 1, når bredder tildeles, eller 0 ved en ukendt tabel, ikke-endelige værdier, ugyldige grænser eller en umulig samlet bredde

Bemærkninger

Celletekst måles med de samme HTML-skrifttyper, integrerede typografier, tekststørrelser, farver og vandrette udfyldning, som tabeltegningen bruger

Celler med én kolonne fastlægger først foretrukne bredder, efterfulgt af gradvist bredere flettede celler, der tilføjer begrænsninger på tværs af deres kolonneområder

Hvis foretrukne bredder overstiger TotalWidth, formindskes kolonner proportionalt mod MinColumnWidth; overskydende bredde fordeles mellem kolonner, der ikke har nået MaxColumnWidth

Et afvist kald er atomisk og bevarer alle eksisterende kolonnebredder

Eksempel

TableID:= PDF.CreateTable(20, 3);
PDF.SetTableCellContent(TableID, 1, 1, 'Item');
PDF.SetTableCellContent(TableID, 1, 2, 'Description');
PDF.SetTableCellContent(TableID, 1, 3, 'Amount');
if PDF.AutoFitTableColumns(TableID, 495, 60, 300)= 1 then
  PDF.DrawTableRows(TableID, 50, 780, 700, 1, 0);

Se også

CreateTable, SetTableColumnWidth, MergeTableCells, DrawTableRows