如何将RTF字符串添加到RichEdit?

时间:2012-03-17 15:18:13

标签: delphi richedit

我正在使用RichEdit,我正在添加包含各种颜色的线条。现在我使用这种方法:

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

其中res是要格式化的文本的位置。不要管那个。我遇到的问题是,当我添加这一行然后编辑它时,它会闪烁(通过选择和取消选择文本)。 我怎样才能以更好的方式使用它?我以为我可以使用某种类型的rtf-string变量,用它做我的事情然后.add到RichEdit。或?

1 个答案:

答案 0 :(得分:2)

您应该可以使用BeginUpdate / EndUpdate来避免闪烁。

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

对BeginUpdate的调用会抑制UI更新,直到调用EndUpdate。