2017-02-01 3 views
3

Итак, у меня есть это текстовое поле, которое на самом деле является игровым чатом. Когда кто-то вводит сообщение, оно выглядит следующим образом: UserName: MessageФорматирование цвета для текстовой части креатина в VB6 RichTextBox

Что я хочу сделать, так или иначе, чтобы текст UserName всегда отображался с другим цветом, поэтому он отделился от фактического сообщения.

Вот код, я в настоящее время с помощью:

AddChatMsg 0, userName & ": " & theMsg 'send it to the chatbox 

Dim curColor As Long 'current text color 
Dim userNameLength As Integer 'username length 

userNameLength = Len(UserName) 'store username in integer var 
With MyForm.ChatText 
    curColor = .SelColor 'set curColor 
    .SelLength = userNameLength 'set Length 
    .SelColor = vbRed 'change color 
    .SelText = UserName 'not sure wha this do 
    .SelColor = curColor 'update current color var 
End With 

Это на самом деле работает хорошо, но имя пользователя красный только в первой строке текста:

Image of Chat

Как сделать это работать на каждую линию? Также, если возможно изменить шрифт на полужирный, будет потрясающе. Спасибо!

ответ

1

Сохраняйте имя пользователя и сообщение отдельно, затем задайте цвет и напишите их отдельно, например. называют как:

AddChatMsg "DonaldTrump", "I like to grab em" 

Использование:

Sub AddChatMsg(UserName As String, theMsg As String) 
    Dim curColor As Long 'current text color 
    With MyForm.ChatText 
     curColor = .SelColor 
     .SelStart = Len(.Text) 'ensure we are at the end 
     .SelColor = vbRed 
     .SelBold = True 'write in bold 
     .SelText = UserName 
     .SelBold = False 
     .SelColor = curColor 
     .SelText = ": " & theMsg & vbCrLf 
    End With 
End Sub 
+0

Это не работает. Весь чатбокс становится беспорядочным, текст с отсылкой вообще не отображается, и все, что я вижу в чате, равно 4: где 4 - красный и полужирный, а: - обычный черный цвет. – zeroClarity

+0

Он отлично работает для меня, он отображает только 4, если вы его передадите. 4 –

+0

Обратите внимание, что мой код не включает или не использует '0' в' AddChatMsg 0, 'в вашем примере, поскольку он, похоже, не используется, передайте его Только 2 строки. –

Смежные вопросы