这是我的代码看起来像
Form1.GRQ.AddItem txtRequest.Text & (" - Pending")
我只想将( - 待定)部分更改为红色,使其在列表框中的黑色文本旁边显示为红色。任何想法?
答案 0 :(得分:10)
遗憾的是,使用常规VB6控件无法执行此操作。您可以使用.ForeColor
更改 all 文本框/列表框/标签文本的颜色,但不能更改其中的部分颜色,这对您来说真的没什么用。值得庆幸的是,有两种解决方案:
第一种方法是继续使用列表框,但添加一个标题,并在您想要的文本旁边添加红色文本“ - 待定”。它不漂亮,但你可以让它发挥作用。
更好的解决方案是更熟悉RichTextBox控件。但是,只有拥有VB6的Professional或Enterprise版本才能使用。假设你这样做,在VB6菜单上,单击Project - >组件,然后在弹出的新窗口中,在“控件”选项卡下,选中“Microsoft Rich TextBox Control 6.0”,然后单击“确定”。 RichTextBox选项应该出现在工具箱上,你可以像任何其他对象一样将它添加到表单中,它就像一个组合列表框/文本框...它非常有用。如果您需要一些文档,check out the MSDN。
不幸的是,RichTextBox在改变文本颜色方面有点臭。它可以完成,但不能用简单的命令。您必须找到所需的文本,选择它,然后设置颜色。 (如果你想改变所有文本的颜色,你也可以这样做 - 你必须先选择它。)无论如何,这样做的方法是:
RichTextBox1.SelStart = RichTextBox1.Find(" - Pending")
RichTextBox1.SelLength = 10
RichTextBox1.SelColor = vbRed
我希望这一切都有帮助。祝你好运!
答案 1 :(得分:0)
我只需要在标签中显示一些文字,然后只更改一两个字母的颜色。
我创建了XLabel(0)
标签控件,并设置了.Visible = False
和.Autosize = True
。
然后我基本上从一个数组中一次读取一个字符串并加载新的XLabel()
控件,每个字符串对应一个字符串。
For z = 1 To Len(a)
Load XLabel(z)
With XLabel(z)
.Caption = Mid(a, z, 1)
.Left = XLabel(z - 1).Left + XLabel(z - 1).Width
.BackColor = vbWhite
.Visible = True
End With
Next z
自启用“自动调整大小”后,所有标签都与单个标签控件内的标签相同。
但是这样你就可以按照你需要的方式修改单个字母。
请记住在继续之前卸载所有控件,如果有的话。