2011-05-19 55 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