elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Colores en RichTextBox [Solucionado]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Colores en RichTextBox [Solucionado]  (Leído 6,988 veces)
Stelio Kontos

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Colores en RichTextBox [Solucionado]
« en: 18 Marzo 2011, 22:23 pm »

Buenas, estoy haciendo una aplicación en la que quiero que después de un nombre, tenga una parte coloreada tal que así:
Pepe dice: Hola
Pepa dice: Hola
Lo separo en dos vectores, uno para el nombre y uno para el mensaje. El que quiero ver coloreado es el del mensaje.
Hago ésto pero solo se colorea la primera vez, y segun recibe mensajes los colores se cambian de sitio:
Pepe dice: Hola
Pepa dice: Hola

Código
  1. If Mid(datos, 1, 3) = "MSG" Then 'Cuando recibo es MSGmensaje
  2.    mensaje = Split(Mid(datos, 4, Len(datos)), ":")
  3.    Text1.Text = Text1.Text & mensaje(0) & ":" & mensaje(1) & vbNewLine 'nombre dice: mensaje
  4.  
  5.    lennombre = Len(mensaje(0)) 'tamano del nombre
  6.    lenmensaje = Len(mensaje(1)) 'tamano del mensaje
  7.  
  8.    With Text1 'creo que falla aqui
  9.        .SelStart = lennombre 'selecciono desde donde acaba el nombre
  10.        .SelLength = lenmensaje 'hasta que acaba el mensaje
  11.        .SelColor = vbBlue 'se supone que tiene que colorearlo todas las veces que quiera
  12.        .SelBold = True
  13.    End With
  14.  
  15. End If

¿Sugerencias?
Saludos.


« Última modificación: 23 Marzo 2011, 15:12 pm por Stelio Kontos » En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Colores en RichTextBox
« Respuesta #1 en: 18 Marzo 2011, 22:42 pm »

SelStart lo estas asignando mal, debes poner el lugar donde empieza, esto es:

Tamaño del texto Actual en el ritchtextbox + Variable nombre + "dice: "

Por lo demas, esta bien :P


En línea

Stelio Kontos

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Re: Colores en RichTextBox
« Respuesta #2 en: 18 Marzo 2011, 22:50 pm »

Gracias por la respuesta.
El "dice: " viene en el vector(0).
El servidor envia Nombre dice: Hola, cuando el cliente lo recibe hace un split separado por ":", entonces, para que se vea hago mensaje(0) & ":" & mensaje(1), de forma que sale Nombre dice: Hola. He probado como me has dicho y no sale ningún color.
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Colores en RichTextBox
« Respuesta #3 en: 18 Marzo 2011, 23:02 pm »

Porque no me explique del todo :xD, en instrucciones seria

Agrega el texto principal "X dice:"
Despues tienes que guardar en una variable el Len(Text1.Text)
Despues agregas el mensaje en si
Y por ultimo, coloreas, en SelStart pones la variable anterior (el len) y listo :P
En línea

Stelio Kontos

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Re: Colores en RichTextBox
« Respuesta #4 en: 18 Marzo 2011, 23:13 pm »

Vale, creo que he hecho lo que me has dicho, y ahora sale coloreado siempre el ultimo mensaje, es decir, digo Hola y se ve azul, pero vuelvo a decir Hola, el anterior se pone negro y el nuevo azul.
Código
  1. mensaje = Split(Mid(datos, 4, Len(datos)), ":")
  2.    Text1.Text = Text1.Text & mensaje(0) & ":" 'Agrego el texto principal X dice:"
  3.  
  4.    lentext = Len(Text1.Text) 'Guardo en una variable el len(text1)
  5.  
  6.    Text1.Text = Text1.Text & mensaje(1) & vbNewLine 'Agrego el mensaje en si
  7.  
  8.    Text1.SelStart = lentext 'Pongo en el SelStart la variable anterior
  9.    Text1.SelLength = Len(Text1.Text) ' mal aqui?
  10.    Text1.SelColor = vbBlue
  11.    Text1.SelBold = True
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Colores en RichTextBox
« Respuesta #5 en: 18 Marzo 2011, 23:35 pm »

Es raro eso que dices :-\

aunque yo cambiaria esta linea que dices

Código
  1.    Text1.SelLength = Len(Text1.Text) ' mal aqui?

por

Código
  1.    Text1.SelLength = Len(mesnaje(1))
En línea

Stelio Kontos

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Re: Colores en RichTextBox
« Respuesta #6 en: 18 Marzo 2011, 23:37 pm »

También he probado y nada :(
Sale así:

Siempre se colorea el ultimo mensaje.
« Última modificación: 18 Marzo 2011, 23:40 pm por Stelio Kontos » En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Colores en RichTextBox
« Respuesta #7 en: 18 Marzo 2011, 23:57 pm »

Cierto! me habia olvidado, cada vez que seteas la propiedad "Text" todo lo formateado se borra :xD

Fijate si tiene una funcion llamada "AppendText" o similar :P sino, no hay ocacion, vas a tener que colorear siempre :(
En línea

Stelio Kontos

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Re: Colores en RichTextBox
« Respuesta #8 en: 19 Marzo 2011, 16:01 pm »

Qué va, no hay nada de eso. ¿Cómo coloreo todo?
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Colores en RichTextBox
« Respuesta #9 en: 19 Marzo 2011, 16:13 pm »

Y... Fijate si tenes alguna otra propiedad relacionada con Text, tipo RichtText o algo asi u.u
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines