2011-05-19 103 views
0

我扩展了一个富文本框以进行语法高亮显示,利用了从富文本框类中提供的选择功能。但是,在这个过程中,我失去了处理撤消和重做文本框的能力。当我撤消时,所做的只是选择我选择的最后一个单词,并以编程方式突出显示。在富文本框中处理撤消和重做

是否有解决方案来处理这种情况下,我想撤消/重做功能,以及选择文本块和改变他们的背景色等功能?

欢呼

redDragon

回答

1

这听起来我喜欢你的设计是有缺陷的。

对于语法突出显示,最好将文本和格式分开。如你所做的那样,通过混合它们,你已经使得实现撤销非常困难。您不能再依赖控件来执行此操作,因为您正在将文本编辑与格式编辑混为一谈。

你有没有考虑过使用类似Scintilla的东西,而不是试图再次解决这个问题?

+0

不,我没有使用Scintilla,我会试试看。但是我希望开发自己的轻量级语法 - 突出显示IDE,但如果不能进行任何撤消或重做,就没有进展! – redDragonzz 2011-05-19 05:18:07

+0

你如何建议我去做这件事。 – redDragonzz 2011-05-19 05:18:31

+1

我会使用ScintillaNet包装。除非您需要更多功能控制,否则我认为没有必要尝试编写自己的版本。 – 2011-05-19 05:24:01