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
GetTablePropertiesRich 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