2012-03-17 47 views
0

我正在使用RichEdit,我正在添加線條,包含各種顏色。現在我用這個辦法:如何添加一個RTF字符串到RichEdit?

LogRichEdit.Lines.Add(someText); 
... 
LogRichEdit.SelStart:=res+8; 
LogRichEdit.SelLength:=4; 
LogRichEdit.SelAttributes.Color:=clSilver; 

其中res是文本格式的位置。不要管那個。我遇到的問題是,當我添加此行然後進行編輯時,它會閃爍(通過選擇和取消選擇文本)。 如何以更好的方式使用它?我以爲我可以有一個類似的rtf-string變量,用它來做我的事情,然後把它變成RichEdit。要麼?

回答

2

您應該能夠通過使用BeginUpdate/EndUpdate來避免閃爍。

RichEdit.Lines.BeginUpdate; 
try 
    // make modifications to RichEdit.Lines 
finally 
    RichEdit.Lines.EndUpdate; 
end; 

對BeginUpdate的調用禁止UI更新,直到調用EndUpdate。