In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Posición del cursor en TEdit

Foro de Xailer profesional en español
Responder
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Posición del cursor en TEdit

Mensaje por Xevi »

Un Edit, tiene el método nPos(), que devuelve la posición donde está situado el cursor dentro del texto del Edit.
Ahora bien... ¿Es posible enviarlo a una posición concreta???
¿¿Serí­a posible modificar ese método nPos() para que si recibiera un valor nPos(n), el cursor se desplazara a la posición n????
Ahora lo estoy haciendo así­, pero... lo verí­a mas correcto, que se pudiera enviar dentro de un método que formara parte de la misma clase TEdit.
METHOD Button1Click( oSender ) CLASS TFrmControlIncidents
::oDBBrowse1:Edit()
::oDBBrowse1:aCols[5]:oGridEdit:lAutoSelect := asSELECTNONE
::oDBBrowse1:aCols[6]:oGridEdit:lAutoSelect := asSELECTNONE
//Añadido. Edits sin lAutoselect el cursor se posiciona en la última posición +1
::oDBBrowse1:aCols[5]:oGridEdit:OnEnter := {|| ::oDBBrowse1:aCols[5]:oGridEdit:PostMsg( WM_KEYDOWN, VK_HOME ) }
::oDBBrowse1:aCols[6]:oGridEdit:OnEnter := {|| ::oDBBrowse1:aCols[6]:oGridEdit:PostMsg( WM_KEYDOWN, VK_HOME ) }
//Añadido hasta PR5. No recibe el Foco si la primera coluna nEditType := beNONE
::oDBBrowse1:aCols[5]:oGridEdit:SetFocus()
RETURN Nil
También se le podrí­a poner una propiedad nPosCursorOnEnter de la posición del cursor al recibir el foco ¿no???
Si lAutoSelect := asSELECTNONE...
Un Saludo,
Xevi.
--
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Posición del cursor en TEdit

Mensaje por Xevi »

Esas prisas!!!
El fichero Edit.txt de lacarpeta doc, no está muy documentado... pero he encontrado SetSel(nStart,nEnd)... y ya está como enviar el cursor a una posición concreta
Si al Inicio... ::oDBBrowse1:aCols[5]:oGridEdit:OnEnter := {|| ::oDBBrowse1:aCols[5]:oGridEdit:SetSel(0,0) }
Un Saludo,
Xevi.
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:[email=431dfe95@ozsrvnegro.ozlan.local...]431dfe95@ozsrvnegro.ozlan.local...[/email]
Un Edit, tiene el método nPos(), que devuelve la posición donde está situado el cursor dentro del texto del Edit.
Ahora bien... ¿Es posible enviarlo a una posición concreta???
¿¿Serí­a posible modificar ese método nPos() para que si recibiera un valor nPos(n), el cursor se desplazara a la posición n????
Ahora lo estoy haciendo así­, pero... lo verí­a mas correcto, que se pudiera enviar dentro de un método que formara parte de la misma clase TEdit.
METHOD Button1Click( oSender ) CLASS TFrmControlIncidents
::oDBBrowse1:Edit()
::oDBBrowse1:aCols[5]:oGridEdit:lAutoSelect := asSELECTNONE
::oDBBrowse1:aCols[6]:oGridEdit:lAutoSelect := asSELECTNONE
//Añadido. Edits sin lAutoselect el cursor se posiciona en la última posición +1
::oDBBrowse1:aCols[5]:oGridEdit:OnEnter := {|| ::oDBBrowse1:aCols[5]:oGridEdit:PostMsg( WM_KEYDOWN, VK_HOME ) }
::oDBBrowse1:aCols[6]:oGridEdit:OnEnter := {|| ::oDBBrowse1:aCols[6]:oGridEdit:PostMsg( WM_KEYDOWN, VK_HOME ) }
//Añadido hasta PR5. No recibe el Foco si la primera coluna nEditType := beNONE
::oDBBrowse1:aCols[5]:oGridEdit:SetFocus()
RETURN Nil
También se le podrí­a poner una propiedad nPosCursorOnEnter de la posición del cursor al recibir el foco ¿no???
Si lAutoSelect := asSELECTNONE...
Un Saludo,
Xevi.
--
Responder