Die aktuelle Version von WPTools (8.05) enthält eine Demo "P) Premium\TextBox" welche bei #13 eine Tabellenzeile erzeugt. Diesen code kann man bestimmt gut abwandeln.
Code:
procedure TForm5.WPRichText1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var aRow : TParagraph;
colnr : Integer;
begin
aRow := WPRichText1.TableRow;
if (Key=13) and (aRow<>nil)then
begin
if ssCtrl in Shift then
WPRichText1.InputString(#10)
else
begin
colnr := WPRichText1.TableColNumber;
aRow := aRow.Duplicate(false, true, false, [wpParCopyStyles,wpDontCopyCellSubParagaraphs]);
WPRichText1.ActiveParagraph := aRow.ColFirst;
WPRichText1.TableColNumber := colnr;
WPRichText1.ReformatAll(false, true);
end;
Key := 0;
end;
end;
Wenn also Ctrl gedrückt wird, wird ein Zeilenumbruch eingefügt (kein neuer Absatz) - ansonsten wird die Tabellen Zeile dupliziert und der cursor in der neuen Zeile platziert.
Die Funktion par.Duplicate hat einen erweiterten Parameter Mode spezielle für das duplizieren von Zeilen. (vgl. manual unter "Create new tablerow on CR".
Hoffentlich hilft das weiter.