C++ cli 防止将RichTextBox操作添加到控件';s撤消堆栈

C++ cli 防止将RichTextBox操作添加到控件';s撤消堆栈,c++-cli,richtextbox,undo,C++ Cli,Richtextbox,Undo,以编程方式编辑RichTextBox控件的文本(更具体地说,修改选择字体/颜色)似乎是在控件的内置撤消堆栈中跟踪的。除了编写我自己的撤消/重做“管理器”之外,还有什么方法可以防止某些操作/操作被添加到撤消堆栈中吗?没有。最多只需发送两次EM_SETUNDOLIMIT,即可完全刷新撤消堆栈。EM_SETTEXTEX提供了与ST_默认标志相同的选项。当然不是你想要的。查看闪烁网以了解真正的编辑器。实际上,通过实现一些ITextDocument接口并将tomSuspend和tomResume作为计数参

以编程方式编辑RichTextBox控件的文本(更具体地说,修改选择字体/颜色)似乎是在控件的内置撤消堆栈中跟踪的。除了编写我自己的撤消/重做“管理器”之外,还有什么方法可以防止某些操作/操作被添加到撤消堆栈中吗?

没有。最多只需发送两次EM_SETUNDOLIMIT,即可完全刷新撤消堆栈。EM_SETTEXTEX提供了与ST_默认标志相同的选项。当然不是你想要的。查看闪烁网以了解真正的编辑器。

实际上,通过实现一些ITextDocument接口并将tomSuspend和tomResume作为计数参数发送到Undo处理程序,您可以很容易地做到这一点。

如果您在搜索WPF c时来到这里,这里有一个很好的答案