Gracias Ze por tomarte el tiempo de hacer la prueba.
Así es, de esa forma funciona pero para asignarle color a determinados caracteres se debe especificar el texto con TEXT... ENDTEXT y asignárselo a la propiedad TextRTF del control de la siguiente manera:
lcTexto = "AA+AA" + CHR(13) + "BB+BB"
lcTexto = STRTRAN(lcTexto,'+','\cf2+\cf1 ')
TEXT TO sStr ADDITIVE TEXTMERGE NOSHOW PRETEXT 1+2
{\rtf1\ansi\deff0
{\colortbl;
\red0\green0\blue0;
\red255\green0\blue255;
\red0\green128\blue0;
\red0\green0\blue255;
}
<<lcTexto>>
}
ENDTEXT
THISFORM.Olecontrol2.TextRtf = sStr
En este caso los signos "+" tendrían un color determinado dentro del texto y para que funcione a medida que se va escribiendo este código debe estar en el evento Change del control.
Al final lo que hice hace unos momentos fue hacer saltos de línea en un control RTF y obtener el código RTF para ver cómo se representan. Así es como descubrí que la sintaxis es "\par".
lcTexto = THISFORM.Olecontrol1.TEXT
lcTexto = STRTRAN(lcTexto,CHR(13),'\par')
TEXT TO sStr ADDITIVE TEXTMERGE NOSHOW PRETEXT 1+2
...
...
ENDTEXT
THISFORM.Olecontrol2.TextRtf = sStr
Nuevamente muchas gracias a los tres por su colaboración.
Saludos cordiales.
Javier Pérez.