need to auto-fit table to contents without wordwrapping
Posted: Tue Mar 04, 2025 10:20 pm
I need to construct a table in TRichView 19.2 (Delphi 12). I need it to auto-size without word-wrapping the cell contents. what's wrong with my code?
what this code does is a full-width table divided into two very wide columns--completely ignoring the width of the table's contents.
Thank you!
what this code does is a full-width table divided into two very wide columns--completely ignoring the width of the table's contents.
Code: Select all
procedure TfrmTRichView_TRichView_AddTable.FormCreate(Sender: TObject);
var
Table: TRVTableItemInfo;
RVData: TCustomRVData;
iParaStyleIndex: Integer;
begin
// Assuming you have a TRichView component named RichView1
RVData := RichView1.RVData;
// Create a table with 1 row and 2 columns
Table := TRVTableItemInfo.CreateEx(1, 2, RVData);
table.BestWidth:=0;
table.Options:=table.Options - [rvtoIgnoreContentWidth] + [rvtoRTFAllowAutofit];
// Add a new paragraph style with no word wrap
iParaStyleIndex := RichView1.Style.ParaStyles.Count;
with RichView1.Style.ParaStyles.Add do
begin
Options := Options + [rvpaoNoWrap]; // Disable word wrap
Alignment:=rvaRight;
end;
// Apply the style to text inside the cells
Table.Cells[0,0].Clear;
Table.Cells[0,0].BestWidth:=0;
Table.Cells[0,0].AddNL('No Wrap', 0, iParaStyleIndex);
Table.Cells[1,0].Clear;
Table.Cells[1,0].BestWidth:=0;
Table.Cells[1,0].AddNL('No Wrap', 0, iParaStyleIndex);
// Insert table into document
RVData.AddItem('', Table);
// Update document display
RichView1.Format;
end;