GoToLine() en TrichEdit

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

GoToLine() en TrichEdit

Post by rolando »

Buenas tardes,

Necesito que el cursor se posicione en una línea del texto que estoy editando con tRichEdit y no puedo lograrlo con la GoToLine().

por ej.

local nLine := 30

oRich:GoToLine(nLine)

Y no hace nada. Será que le falta un parámetro?

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,

Comprueba que tengas este código en la Clase TRichEdit:

METHOD GoToLine( nLine ) INLINE ::SetPos( ::SendMsg( EM_LINEINDEX, nLine, 0 ) )
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 »

Antonio,

Si, está el método tal cual lo preguntas.

¿Que puede estar pasando?.

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,

Este cambio en samples\TestRich.prg funciona correctamente aqui:

REDEFINE BUTTON ID 998 ACTION ( oRich:GoToLine( 10 ), oRich:SetFocus() )
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 »

Antonio,

Efectivamente el ejemplo que me envias funciona correctamente.

Lo que yo necesito hacer es cambiar a la línea deseada pero sin que el oRich esté en foco.

¿Para qué?. La respuesta es que agregué a la clase un método que llamé findall() y que cubre una necesidad para mi proyecto y es la de mostrar TODAS las palabras buscadas con tinta blanca y papel azul (como en el "find").

La cuestión es que antes de pintar todas las palabras hago una copia al disco del texto editado para, luego de mostrar todas las palabras encontradas, volver a cargarlo logrando así mostrar el texto original (sin las palabras pintadas). Esto lo hago cuando al clickear sobre el rich, coloco el cursor, es decir cuando toma al foco.

Por eso necesito, para mejor presentación, que sin tener el foco, el rich "salte", para poder visualizar, la primer línea en la que encontró la primer palabra buscada.

No se si me explico. ¿Hay algun modo de hacerlo?.

Gracias.

Rolando. :D
Post Reply