Posición del cursor en TEdit
Publicado: Mar Sep 06, 2005 10:39 pm
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.
--
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.
--