2011-05-27 1 views

ответ

10

Использование обычных элементов управления VB6, к сожалению, вы не можете сделать этого. Вы можете изменить цвет на весь текст текст текстового поля/ярлыка с использованием .ForeColor, но не его частей, и это действительно не хорошо для вас. К счастью, есть два решения:

  1. Первый заключается в дальнейшем использовать ListBox, как у вас есть, но добавить в титрах с красным текстом чтения «- В ожидании» рядом с текстом, который вы хотите. Это некрасиво, но вы можете заставить его работать.

  2. Лучшее решение для ознакомления с элементом управления RichTextBox. Это будет работать, только если у вас есть версии VB6 Professional или Enterprise. Предполагая, что вы делаете, в меню VB6 выберите «Проект -> Компоненты», а затем в появившемся новом окне на вкладке «Управление» установите флажок «Microsoft Rich TextBox Control 6.0» и нажмите «ОК». Опция RichTextBox должна появиться на панели инструментов, вы можете добавить ее в форму, как и любой другой объект, и она будет действовать как комбинационный список/текстовое поле ... это очень полезно. Если вам нужна какая-то документация, check out the MSDN.

    К сожалению, RichTextBox как бы воняет с точки зрения изменения цвета текста. Это можно сделать, но не с помощью простой команды. Вы должны найти нужный текст, выбрать его, а затем установить цвет. (Это касается также, если вы хотите изменить цвет всего текста - вы должны выбрать все сначала.) В любом случае, способ сделать это было бы:

    RichTextBox1.SelStart = RichTextBox1.Find(" - Pending")
    RichTextBox1.SelLength = 10
    RichTextBox1.SelColor = vbRed

Надеюсь, все это поможет. Удачи!

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 

Поскольку автосигнализация включена, все ярлыки расположены рядом друг с другом так же, как и внутри одного элемента управления ярлыками.

Но таким образом вы можете изменить одну букву так, как вам нужно.

Не забывайте выгружать все элементы управления, прежде чем двигаться дальше, если когда-либо.