colorizar frase en tRichedit

colorizar frase en tRichedit

Postby rolando » Tue Nov 06, 2007 7:27 pm

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
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Postby QAZWSX2K » Tue Nov 06, 2007 7:45 pm

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

Postby Antonio Linares » Tue Nov 06, 2007 8:30 pm

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

Postby rolando » Wed Nov 07, 2007 12:52 am

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
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Postby Antonio Linares » Wed Nov 07, 2007 8:22 am

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  Expand view  RUN
   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
Antonio Linares
Site Admin
 
Posts: 42159
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby rolando » Wed Nov 07, 2007 11:41 am

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
User avatar
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 32 guests