| ImageEn, unit iexRichEdit | 
 | 
 
TIERichEdit.SetTableProperties
 
Declaration
function SetTableProperties(ColCount: Integer;
                            RowCount: Integer;
                            ColWidth: Integer = 100;
                            RowHeight: Integer = 0;
                            BorderSize: Integer = 1;
                            BorderColor: TColor = clBlack;
                            TableAlignment: TAlignment = taLeftJustify;
                            CellVertAlign: TVerticalAlignment = taAlignTop;
                            CellMargin: Integer = 4;
                            BackgroundColor: TColor = clWhite;
                            Indent: Integer = 0
                            ): Boolean;
Description
Modifies the properties of the currently selected table.
Result is false if there is not a table selected.
Note:
◼RowCount should be specified as -1 to update the properties entire table
◼If ColCount is different from the current count, cells will be added or deleted
◼SetTableProperties() does not support row selection. The cursor should be positioned inside the first cell. If there is a selection, this will occur automatically
◼You should initialize all variables using 
GetTableProperties
Rich Edit Identifier: EM_SETTABLEPARMS
var
  colCount: Integer;
  rowCount: Integer;
  colWidth: Integer;
  rowHeight: Integer;
  tableAlign: TAlignment;
  cellVertAlign: TVerticalAlignment;
  borderSize: Integer;
  borderColor: TColor;
  cellMargin: Integer;
  bgColor: TColor;
  indent: Integer;
  initIndex: Integer;
begin
  // Works best if the cursor is positioned inside the first cell
  if IERichEdit1.SelLength = 0 then
  begin
    initIndex := IERichEdit1.SelStart;
    // GetTableProperties() requires whole row to be selected
    IERichEdit1.SelectAll( True );
  end
  else
    initIndex := IERichEdit1.SelStart + 2; // Whole row has been selected, position cursor inside the first cell
  // Get existing properties
  if IERichEdit1.GetTableProperties( colCount, rowCount,
                                     colWidth, rowHeight,
                                     borderSize, borderColor,
                                     tableAlign, cellVertAlign,
                                     cellMargin,
                                     bgColor,
                                     indent ) = False then
    raise Exception.create( 'You have not selected a table (click inside the first cell of the table)' );
  // Update background color to red
  bgColor := clRed;
  // Vertically align the text
  cellVertAlign := taVerticalCenter;
  // Make border color green
  borderColor := clGreen;
  // SettTableProperties() requires cursor to be positioned inside first cell, doesn't support row selection :-/
  if IERichEdit1.SelLength > 0 then
    IERichEdit1.SetSelection( initIndex, initIndex );
  // Update the properties
  if IERichEdit1.SetTableProperties( colCount,
                                     -1,     // Update whole table
                                     colWidth, rowHeight,
                                     borderSize, borderColor,
                                     tableAlign, cellVertAlign,
                                     cellMargin,
                                     bgColor,
                                     indent ) = False then
    raise Exception.create( 'Cannot set table properties' );
end;
See Also
◼GetTableProperties
◼InsertTable