AutoFitTableColumns

ページレイアウト、表

説明

スタイル付きテーブルセルのコンテンツを測定し、要求されたテーブル幅を正確に埋める幅を各列に割り当てます

構文

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

パラメータ

TableIDCreateTable が返すハンドル
TotalWidth現在の座標系ですべての列に配分する正確な総幅
MinColumnWidthすべての列に適用される正の絶対最小値
MaxColumnWidthすべての列に適用され、MinColumnWidth 以上である厳密な最大値

戻り値

幅が割り当てられた場合は 1、不明なテーブル、非有限値、無効な境界、または実現不能な総幅の場合は 0 を返します

備考

セルテキストは、テーブル描画に使用するものと同じ HTML フォント、インラインスタイル、テキストサイズ、色、水平パディングで測定されます

単一列セルが最初に優先幅を確立し、続いて次第に幅の広い結合セルが列スパン全体に制約を追加します

優先幅が TotalWidth を超える場合、列は MinColumnWidth に向かって比例縮小されます。余った幅は MaxColumnWidth に達していない列へ分配されます

拒否された呼び出しはアトミックで、既存のすべての列幅を保持します

例

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

関連項目

CreateTable、SetTableColumnWidth、MergeTableCells、DrawTableRows