Warum, ist doch auch so kein Prob.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
b, e: Integer;
begin
b:=RichEdit1.SelStart;
e:=RichEdit1.SelStart+RichEdit1.SelLength;
RichEdit1.SelStart:=e;
RichEdit1.SelLength:=0;
RichEdit1.SelText:='[/b]';
RichEdit1.SelStart:=b;
RichEdit1.SelLength:=0;
RichEdit1.SelText:='[b]';
RichEdit1.SelStart:=b+3;
end;
Fügt an der aktuellen Cursorposition ein. Und wenn du ein Wort oder mehrere markierst, dann vor und hinter dem markierten Text.
Der Curser steht dann immer hinter dem [b].