Rich Text Box con color vb

Iniciado por [eklvin], 24 Abril 2006, 05:42 AM

0 Miembros y 1 Visitante están viendo este tema.

[eklvin]

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 ::)

NYlOn

Usa las propiedades
-SelStart
-SelLength
-SelColor


Saludos.-

[eklvin]

men me podrias dar una manito por que la verdad no veo donde usar esas propiedades :huh:
salu2

xXnewbieXx

son las propiedades del richtextbox.

x ejemplo:
RichTextBox1.SelColor = RGB(255, 0, 0)
Hardware: Lo que golpeas. Software: La causa

Error 943 - El sistema esta funcionando demasiado bien, se caerá para seguir con la rutina...

WarGhost

y existe un RichTextBox1 que se pueda poner al estilo xp¿?



;D Salu2, WarGhost
¿Qué culpa tengo yo de tener la sangre roja y el corazón a la izquierda?

[eklvin]

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:

Gangrel

#6
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.
La educacion no es un privilegio, es un derecho.

http://www.usuarios.lycos.es/protg

xXnewbieXx

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! ;)
Hardware: Lo que golpeas. Software: La causa

Error 943 - El sistema esta funcionando demasiado bien, se caerá para seguir con la rutina...

Gangrel

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.
La educacion no es un privilegio, es un derecho.

http://www.usuarios.lycos.es/protg