GoToLine() en TrichEdit

GoToLine() en TrichEdit

Postby rolando » Sun Dec 23, 2007 10:55 pm

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

Postby Antonio Linares » Mon Dec 24, 2007 2:53 pm

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

Postby rolando » Mon Dec 24, 2007 3:35 pm

Antonio,

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

¿Que puede estar pasando?.

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 » Tue Dec 25, 2007 10:38 am

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

Postby rolando » Wed Dec 26, 2007 9:05 pm

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
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: No registered users and 14 guests