hay alguna forma de ponerle diferentes colores a un Rich text box
Juan dice: klk men
Luis dice: na tranki ;D
algo mas o menos asi, es para el chat que estoy haciendo quiero k los mensajes de cada usuario se vean de un color diferente
saludos ::)
Usa las propiedades
-SelStart
-SelLength
-SelColor
Saludos.-
men me podrias dar una manito por que la verdad no veo donde usar esas propiedades :huh:
salu2
son las propiedades del richtextbox.
x ejemplo:
RichTextBox1.SelColor = RGB(255, 0, 0)
y existe un RichTextBox1 que se pueda poner al estilo xp¿?
;D Salu2, WarGhost
ok si pero tengo un problema :P cuando recibo los mensajes no hacen efectos las propiedades del Rich Text Box que yo les pongo si no que se queda con las propiedades inicales osea normal
tengo esto
Citar
Private Sub wcliente_DataArrival(ByVal bytesTotal As Long)
Dim recibido As String
wcliente.GetData recibido
txtconversacion.SelColor=RGB(0,0,250)
txtconversacion.Text = txtconversacion.Text + Chr(13) + recibido
End Sub
:huh:
Esque no es asi tan facil como lo tratas de hacer.
Primero tienes que seleccionar el texto que quieres formatear y despues ya le aplicas el formato.
txtconversacion.SelStart = 0 'Pocicionamos el caret (el cursor parpadeante que aparece en los cuadros de texto) en la pocicion 0 (entes de la primer letra)
txtconversacion.SelLength = len(txtconversacion) 'Seleccionamos desde la pocion actual del caret (0) hasta el ultimo caracter de txtconversacion
txtconversacion.SelColor=RGB(0,0,250) 'Ahora si aplicamos el formato al texto seleccionado.
txtconversacion.SelStart = len(txtconversacion) 'Quitamos la seleccion y ponemos el caret en la ultima pocicion.
Si quieres aplicar formato solo a algunas partes del texto tendras que ingeniartelas para lograrlo.
y como seria si fuese seleccionanda 1 palabra o 1 frase? :huh:... pq en el code coge dsd una posicion hasta el final del texto.
saludos! ;)
Pues para eso ya se las tienen que ingeniar ustedes, dependiendo de lo que esten haciendo :P
por ejemplo en este caso:
Citar
Private Sub wcliente_DataArrival(ByVal bytesTotal As Long)
Dim recibido As String
wcliente.GetData recibido
txtconversacion.SelColor=RGB(0,0,250)
txtconversacion.Text = txtconversacion.Text + Chr(13) + recibido
End Sub
se podria hacer los siguiente:
Private Sub wcliente_DataArrival(ByVal bytesTotal As Long)
Dim recibido As String
wcliente.GetData recibido
txtconversacion.Text = txtconversacion.Text + Chr(13) + recibido
txtconversacion.SelStart = len(txtconversacion) - bytesTotal
txtconversacion.SelLength = bytesTotal
txtconversacion.SelColor=RGB(0,0,250)
End Sub
Con el codigo anterior se le aplica el formato solo a la cadena que llego por el Winsock.