Página 1 de 1

Posición del cursor en TEdit

Publicado: Mar Sep 06, 2005 10:39 pm
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.
--

Posición del cursor en TEdit

Publicado: Mar Sep 06, 2005 10:47 pm
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.
--