govcl icon indicating copy to clipboard operation
govcl copied to clipboard

RichEdit Lines().Add 能否每行字都设置独立的颜色呢

Open lyglj opened this issue 1 year ago • 5 comments

RichEdit Lines().Add 能否每行字都设置独立的颜色呢 我从demo里看 每次设定颜色都需要选择文字长度,大量的日志需要显示 能否直接输出前或者输出后设定颜色 整行都变 比如 richEdit.Lines().Add("这是一段文字红色") richEdit.SelAttributes().SetColor(colors.ClRed) richEdit.Lines().Add("这是一段文字绿色") richEdit.SelAttributes().SetColor(colors.ClGreen)

lyglj avatar Jun 13 '24 13:06 lyglj

可以的

richEdit.SetSelLength(1) // 以当前光标位置选择一个字符设置属性
x := rand.Int31n(3)
switch x {
case 0:
	richEdit.SelAttributes().SetColor(colors.ClRed)
case 1:
	richEdit.SelAttributes().SetColor(colors.ClGreen)
case 2:
	richEdit.SelAttributes().SetColor(colors.ClBlue)
default:
	richEdit.SelAttributes().SetColor(colors.ClYellow)
}
             // 然后添加数据
richEdit.Lines().Add("数据1")

另外,如果不想用TRichEdit,也可以用TListBox来实现,在MainFormImpl.go#L415这个文件里有个现成的。

ying32 avatar Jun 14 '24 11:06 ying32

太感谢了,我还发现一个问题,Tbutton 控件经常会消失 ,鼠标滑过就出现了,我是windows 11系统

lyglj avatar Jun 16 '24 12:06 lyglj

这个难判断,你看看是不是有在协程中创建ui?

ying32 avatar Jun 19 '24 11:06 ying32

我UI是lazarus创建的,协程中有部分的按钮
f.Button2.SetCaption("已停止") f.Button1.SetCaption("开始") f.Button1.SetEnabled(true) f.Button2.SetEnabled(false) 类似这种操作 继续观察吧

lyglj avatar Jun 20 '24 07:06 lyglj

协程中操作ui你需要遵守我文档中关于这个的说明。

ying32 avatar Jun 21 '24 00:06 ying32