注册 登录
编程论坛 VB6论坛

Len(Text)有啥办法每行显示不一样的字体颜色?

红领巾少年 发布于 2020-07-16 17:58, 2435 次点击
Text6.Text = ("【" & Text1.Text & "】,【" & Text2.Text & "】,【" & Text3.Text & "】,【" & Text4.Text & "】." & Hour(Time) & ":" & Minute(Time) & ":" & Second(Time))
Text5.Text = Text5.Text + Text6.Text & vbCrLf
Text5.SelStart = Len(Text5)

command1_Click
text6.ForeColor = &HFF&
command2_Click
text6.ForeColor = &H0&

这么写后text5里面的字还是原色没变化。
如果改成
command1_Click
text5.ForeColor = &HFF&
command2_Click
text5.ForeColor = &H0&
那text5里面已有的所有内容字体颜色会统一变成一个颜色。
8 回复
#2
cwa99582020-07-17 08:08
用RichTextBox1控件吧
标准的textbox控件好像不能改变局部字符的颜色或别的属性。
#3
红领巾少年2020-07-17 13:59
回复 2楼 cwa9958
RichTextBox1控件没找到有字体颜色的属性呢
#4
cwa99582020-07-17 16:41
selcolor

#5
风吹过b2020-07-17 17:50
看代码,很像是显示程序内部日志的代码

这种代码,我是使用 lable 控件数组来做的。

初始化:按指定显示区域高度,计算可以排列多少个 控件,然后载入,然后按奇偶指定好字体颜色。如果显示区域高度固定,可以在设计阶段手动指定。
运行:
循环,把下一个标签内容给上一个,
新的内容给最后一个标签

因lable是轻量级的控件,所以它的刷新速度可以做到很快的。比textbox 要快的多。


#6
老顽童9892020-07-18 21:51
用 PictureBox 控件可以实现文字的多种颜色
#7
红领巾少年2020-07-20 13:51
回复 5楼 风吹过b
是的,一个简单的日志功能。谢谢思路
#8
红领巾少年2020-07-20 13:52
回复 6楼 老顽童989
非常感谢
#9
红领巾少年2020-07-20 13:52
回复 4楼 cwa9958
非常感谢。
1