Text 是否更改文本VB6中某一部分的颜色?

Text 是否更改文本VB6中某一部分的颜色?,text,colors,vb6,Text,Colors,Vb6,这就是我的代码的样子 Form1.GRQ.AddItem txtRequest.Text & (" - Pending") 我只想将(-Pending)部分更改为红色,以便在列表框中的黑色文本旁边显示红色。有什么想法吗?使用常规VB6控件,不幸的是,您无法做到这一点。您可以使用.ForeColor更改文本框/列表框/标签的所有文本的颜色,但不能更改部分文本的颜色,这对您来说真的没有好处。谢天谢地,有两种解决方案: 第一种方法是继续使用列表框,但在所需文本旁边添加一个红色文本标题“-Pe

这就是我的代码的样子

Form1.GRQ.AddItem txtRequest.Text & (" - Pending")

我只想将(-Pending)部分更改为红色,以便在列表框中的黑色文本旁边显示红色。有什么想法吗?

使用常规VB6控件,不幸的是,您无法做到这一点。您可以使用
.ForeColor
更改文本框/列表框/标签的所有文本的颜色,但不能更改部分文本的颜色,这对您来说真的没有好处。谢天谢地,有两种解决方案:

  • 第一种方法是继续使用列表框,但在所需文本旁边添加一个红色文本标题“-Pending”。这不漂亮,但你可以让它工作

  • 更好的解决方案是更熟悉RichTextBox控件。不过,这仅在使用VB6的专业版或企业版时才有效。假设您这样做了,在VB6菜单上,单击“项目->组件”,然后在弹出的新窗口中,在“控件”选项卡下,选中“Microsoft Rich TextBox Control 6.0”,然后单击“确定”。RichTextBox选项应该出现在工具箱中,您可以像其他任何对象一样将其添加到表单中,它的行为就像listbox/textbox的组合。。。它非常有用。如果您想要一些关于它的文档

    不幸的是,RichTextBox在更改文本颜色方面有点臭。这是可以做到的,但不是一个简单的命令。您必须找到所需的文本,选择它,然后设置颜色。(如果您想更改所有文本的颜色,也可以这样做-您必须先选择所有文本。)无论如何,方法是:

    RichTextBox1.SelStart=RichTextBox1.Find(“-Pending”)

    RichTextBox1.SelLength=10

    RichTextBox1.SelColor=vbRed


  • 我希望所有这些都能有所帮助。祝你好运

    我只需要在标签中显示一些文本,然后只更改一个或两个字母的颜色

    我创建了一个
    XLabel(0)
    Label控件,并设置
    .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
    
    由于“自动调整大小”处于启用状态,因此所有标签彼此靠近,就像它们在单个标签控件中一样

    但通过这种方式,您可以按需要修改单个字母

    请记住在继续之前卸载所有控件(如果有)