Page 1 of 1

colorizar frase en tRichedit

Posted: Tue Nov 06, 2007 7:27 pm
by rolando
Buenas tardes,
Necesitaría que dentro de un archivo que edito con la clase richedit, una frase o alguna palabra que previamente defina, salga "colorizada" en todas las posiciones que esta se encuentre.
Esto es para poder distinguir la frase palabra buscada dentro del .RTF que estoy editando.
¿Es esto posible?. Uso FWH 2.7 + xHarbour.
Gracias. :D

Posted: Tue Nov 06, 2007 7:45 pm
by QAZWSX2K
creo que el amigo "verce" te podria ayudar con eso ya que el lo hace en verce, valga la redundancia

Posted: Tue Nov 06, 2007 8:30 pm
by Antonio Linares
Rolando,

Revisa el código del método Colorize() de la Clase TRichEdit.

Hace exactamente lo que quieres

Posted: Wed Nov 07, 2007 12:52 am
by rolando
Buenas noches,

Revisé el método Colorize() y, en principio me sirve para lo que necesito.

Ahora necesitaría un método o función para obtener todas las posiciones nStart en la que se encuentra la palabra para pasarle como parámetro al método y me "colorice" todas las palabras. ¿Existe o debo crearlo?. Si debo crearlo, por favor alguna ayuda. Gracias. Rolando :D

Posted: Wed Nov 07, 2007 8:22 am
by Antonio Linares
Rolando,

Tienes que hacerlo tu recorriendo cada una de las líneas del richedit.

Fíjate en como lo hacemos en el método HighLightAllText():

Code: Select all

   for nLine := 1 to ::GetLineCount()
       ::HighLightLine( nLine )
       SysRefresh()
   next
Desde ::HighLightLine() llamamos a ::GetLine( nLine ) que nos da el texto de cada línea

Posted: Wed Nov 07, 2007 11:41 am
by rolando
Mi idea es que una función me entregue todos los nStart en un array para poder de este modo "colorizar".
Ahora tengo una orientación y trataré de crear esa función.
Antonio, muchas Gracias por la Ayuda.
Rolando :D