本帖最后由 yanguoliumao 于 2011-09-29 15:27:13 编辑

解决方案 »

  1.   

    richedit1.SelText := 'aaaaaaaaaa';这样就会在光标处插入字符串,如果要实现无限制的undo,redo,可以自己写,参考http://blog.csdn.net/bdmh/article/details/6426564
      

  2.   


    现在的问题是,用richedit1.SelText := 'aaaaaaaaaa';似乎一次undo都不行啊?
      

  3.   

     插入当前日期,通常是先把日期字符串拷贝到剪贴板上,然后再粘贴.
     Editor.CopyToClipboard;
     Editor.PasteFromClipboard;
      Editor.Undo
      

  4.   


    我觉得用剪贴板或是用虚拟键输入虽然可以UNDO了但都不像正解,请高人继续指点...
      

  5.   

      procedure InsertSymbol(AChar: WideChar);
      var
        S: WideString;
      begin
        with TClipboardAccess(Clipboard) do
        begin
          Open;
          try
            S := AChar;
            SetBuffer(CF_UNICODETEXT, PWideChar(S)^, (Length(S) + 1) * SizeOf(WideChar));
          finally
            Close;
          end;
        end;
        Editor.PasteFromClipboard;
      end;
      

  6.   

    RichEdit1.SelText   :=   '邹家华 '