Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/05/2011, 21:07
coqui90
 
Fecha de Ingreso: mayo-2011
Mensajes: 6
Antigüedad: 13 años, 7 meses
Puntos: 0
[VB6] RichTextBox.

Buenas gente, recurro otra vez a ustedes ya que no he podido solucionar un inconveniene que tengo... Ya que estamos, les hago dos consultas:

1. ¿Es posible unir dos RichTexBox, manteniendo su respectivo formato? En caso de ser posible, me gustaría saber como hacerlo, ya que no he podido lograrlo ni encontrar una forma en la web...

2. Tengo otro problema con este componente. Verán, estoy intentando realizar un programa de Chat, donde quiero distinguir a cada usuario con un respectivo color.

Ahora bien, en principio a la hora de cambiar a otro color, me modifica la primera nueva linea ingresada correctamente... pero luego, a medida que voy ingresando más lineas, solamente me mantiene el color correcto en la última ingresada, asignandole al resto de las lineas el formato de la primer linea, perdiendo por completo el objetivo del programa ^^

Si ya sé, habrá quedado medio confuso :P Así que les dejo la parte del programa modificado para que lo puedan ver por ustedes mismos. Con él, cambio el formato a cada linea de texto, a medida que la voy ingresando:

El formulario es muy simple y consta de los siguientes componentes:

1 TextBox ==> Nombre: TextoAEnviar
1 RichTextBox ==> Nombre: T
1 CommandButton ==> Nombre: CommandButton
1 ComboBox ==> Nombre: Combo1


Código VB:
Ver original
  1. Private Sub Form_Load()
  2. With Combo1
  3.     .List(0) = "Verde"
  4.     .ItemData(0) = 1
  5.     .List(1) = "Rojo"
  6.     .ItemData(1) = 2
  7.     .List(2) = "Amarillo"
  8.     .ItemData(2) = 3
  9. End With
  10. Command1.Caption = "Enviar"
  11. End Sub
  12.  
  13. Private Sub Command1_Click()
  14. T.Text = T.Text & TextoAEnviar.Text & vbCrLf
  15. Call Color Combo1.ItemData(Combo1.ListIndex), Len(TextoAEnviar.Text & vbCrLf)
  16. End Sub
  17.  
  18. Private Sub Color(From As Integer, LenDato As Integer)
  19.  
  20. T.SelStart = Len(T.Text) - LenDato
  21. T.SelLength = LenDato
  22.  
  23. Select Case From
  24. Case 1
  25.     T.SelColor = vbGreen
  26. Case 2
  27.     T.SelColor = vbRed
  28. Case 3
  29.     T.SelColor = vbYellow
  30. End Select
  31. T.SelLength=0
  32. End Sub

He intentado de varias formas, pero no he conseguido una solución que me sea eficiente. Si alguno puede darme una mano, les agradecería mucho.

Si no logran conseguir hacer que funcione mi codigo, y tienen alguna mejor idea por donde encarar la solución, sean bienvenidos ^^ Si no tienen ganas de escribir un codigo, pueden comentarmela simplemente y yo veré de examinarlo por mi propia cuenta... Ya que lo que más valoro es la idea ^^

Saludos!