1

私は RichEdit を使用しており、さまざまな色を含む行を追加しています。今、私はこのアプローチを使用します:

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

フォーマットするテキストのres位置です。気にしないでください。私が抱えている問題は、この行を追加してから編集すると、(テキストを選択および選択解除することによって) ちらつくことです。どうすればより良い方法でそれを扱うことができますか? ある種の rtf-string 変数を用意して、それを使って自分のことを行い、.addそれから RichEdit に渡すことができると考えました。または?

4

1 に答える 1

3

BeginUpdate/を使用すると、ちらつきを回避できるはずですEndUpdate

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

BeginUpdate の呼び出しは、EndUpdate が呼び出されるまで UI の更新を抑制します。

于 2012-03-17T15:45:44.360 に答える