我正在使用RichEdit,我正在添加包含各种颜色的线条。现在我使用这种方法:
LogRichEdit.Lines.Add(someText);
...
LogRichEdit.SelStart:=res+8;
LogRichEdit.SelLength:=4;
LogRichEdit.SelAttributes.Color:=clSilver;
其中res
是要格式化的文本的位置。不要管那个。我遇到的问题是,当我添加这一行然后编辑它时,它会闪烁(通过选择和取消选择文本)。
我怎样才能以更好的方式使用它?我以为我可以使用某种类型的rtf-string变量,用它做我的事情然后.add
到RichEdit。或?
答案 0 :(得分:2)
您应该可以使用BeginUpdate
/ EndUpdate
来避免闪烁。
RichEdit.Lines.BeginUpdate;
try
// make modifications to RichEdit.Lines
finally
RichEdit.Lines.EndUpdate;
end;
对BeginUpdate的调用会抑制UI更新,直到调用EndUpdate。