如何将RTF字符串添加到RichEdit



我正在使用RichEdit,并在其中添加包含各种颜色的行。现在我使用这种方法:

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

其中CCD_ 1是要格式化的文本的位置。别介意。我遇到的问题是,当我添加这一行然后编辑它时,它会闪烁(通过选择和取消选择文本)。我怎样才能更好地处理它?我想我可以有一个rtf字符串变量,用它做我的事情,然后把它.add到RichEdit。或

您应该能够通过使用BeginUpdate/EndUpdate来避免闪烁。

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

对BeginUpdate的调用将抑制UI更新,直到调用EndUpdate为止。

最新更新