colorizar frase en tRichedit

Post Reply
User avatar
rolando
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

colorizar frase en tRichedit

Post 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
User avatar
QAZWSX2K
Posts: 359
Joined: Tue Oct 25, 2005 7:06 pm
Location: Bogota - Caracas

Post by QAZWSX2K »

creo que el amigo "verce" te podria ayudar con eso ya que el lo hace en verce, valga la redundancia
Software especializado para oficinas contables con grandes volumenes de Informacion
Impresion de todos los formularios del Seniat, Dian

alex_patino74@hotmail.com
whatsapp 57+3214777217
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Rolando,

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

Hace exactamente lo que quieres
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
rolando
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Post 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
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post 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
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
rolando
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Post 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
Post Reply