memo控件不能灵活设置字体颜色、样式,我们可以使用richmemo。
下面这个函数可以在richMemo中显示一行指定颜色的字符串。
注意如果使用汉字字符串,计算长度时使用了UTF8Length
// 显示一行带颜色字符串
procedure TMainForm.memoAddStr(str: string; color: TColor);
var
fp: TFontParams;
iStart: longint;
begin
fp.Color := color;
fp.Size := 10;
fp.HasBkClr := false;
fp.Style := [];
iStart := UTF8Length(memoText.Text);
memoText.Append(str);
memoText.SetTextAttributes(iStart, UTF8Length(str), fp);
end;
这样调用上面的 procedure :
memoAddStr(' 增加一行蓝色字符串', clBlue);