Delphi 请问如何让使用代码设置Memo的文本 使用Ctrl+Z撤销有效

delphi Memo的撤销问题当手动修改Memo里面的文本时使用Ctrl+Z可以撤销当使用代码设置Memo文本时如 Memo1.text:='aaaaa';设置后 Ctrl+Z 撤销就无效了请问如何让使用代码设置的文本 Ctrl+Z撤销有效

需要引用Commctrl单元,代码如下:

var
  NewText: PChar;
begin
  NewText := 'aaaaa';
  //全选Memo1的所有文本
  SendMessage(Memo1.Handle,EM_SETSEL,0,-1);
  //将Memo1的所选文本替换为新文本
  SendMessage(Memo1.Handle,EM_REPLACESEL,-1,LPARAM(NewText));
end;

详细原因可以参考msdn中关于EM_REPLACESEL的相关描述

温馨提示:答案为网友推荐,仅供参考