我正在使用TRichEdit
来显示应用程序中最近完成的操作。我的TRichEdit
的第一行应该是最后一次操作。如果操作失败,我想把这行文字标记为红色。
我的问题是我无法在TRichEdit
顶部插入一行带颜色的文字。以下是我尝试过的方法:
RichEditLog.SelAttributes.Color := clBlack;
RichEditLog.Lines.Insert(0, 'Operation 1 OK');
// RichEditLog.Lines.Add('Operation 1 OK');
RichEditLog.SelAttributes.Color := clRed;
RichEditLog.Lines.Insert(0, 'Operation 2 failed');
// RichEditLog.Lines.Add('Operation 2 failed');
RichEditLog.SelAttributes.Color := clRed;
RichEditLog.Lines.Insert(0, 'Operation 3 failed');
// RichEditLog.Lines.Add('Operation 3 failed');
RichEditLog.SelAttributes.Color := clBlack;
RichEditLog.Lines.Insert(0, 'Operation 4 OK');
// RichEditLog.Lines.Add('Operation 4 OK');
问题在于我的
TRichEdit
只应用了第一个颜色更改,并将其保留为所有行的颜色。如果我使用Add()
而不是Insert()
,颜色会改变,但行会插入到我的TRichEdit
的末尾。我的问题是:有没有一种简单的方法可以得到我想要的结果?