2017-02-01 14 views
3

그래서이 텍스트 상자는 실제로 게임 채팅입니다. 누군가가 메시지를 입력하면 다음과 같이 나타납니다. UserName : MessageVB6에서 creatin 텍스트 부분의 색을 서식 지정하기 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

참고로, 사용하지 않는 것처럼 나의 코드는'AddChatMsg 0,'에'0'을 포함 시키거나 사용하지 않는다. 2 개의 문자열 만. –