Visual Basic - Posicion del cursor en un TextBox

Life is soft - evento anual de software empresarial
 
Vista:

Posicion del cursor en un TextBox

Publicado por pep (32 intervenciones) el 15/02/2006 19:38:24
Tengo un TextBox en el que se introducen numeros y controlo si se escribe punto y lo cambio por coma. Esto lo hago con el ecento KeyPress

El codigo es

digito=Chr$(KeyAscii)
If digito = "." Then
KeyAscii = 0 'caracter de cancelació
Text2(Index).Text = Text2(Index).Text & ","
End If

Este codigo cambia el punto por la coma pero me deha el cursor a la izquierda de la cadena y no puedo seguir introduciendo los decimales del número. Alguien sabe como resolver esto?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Posicion del cursor en un TextBox

Publicado por Juan_K (181 intervenciones) el 15/02/2006 20:18:00
Asi
==============================
'Guardamos posicion
pos = Text2(Index).SelStart

digito=Chr$(KeyAscii)
If digito = "." Then
KeyAscii = 0 'caracter de cancelació
Text2(Index).Text = Text2(Index).Text & ","

'&& Reposicionamos cursor
Text2(Index).SelStart = pos + 1
End If
=============================
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Posicion del cursor en un TextBox

Publicado por ivan (463 intervenciones) el 15/02/2006 20:19:18
Puedes usar el control MaskEdBox (el cual no se usarlo pero sé que sirve para eso...).

Yo capturo números con decimales y no me preocupo por validar cuántos decimales llevo o donde pongo el "."

Cuando finalizo la captura, o sea, cuando pulso ENTER o cuando el TextBox pierda el enfoque es cuando valido el dato...

If Not IsNumeric(Text1.Text) Then
Text1.Text = ""
Else
Text1.Text = Format(Text1.Text,"#,##0.00")
Endif

Aunque no es exactamente lo que buscas pero espero que esto te sirva de algo....

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Posicion del cursor en un TextBox

Publicado por Matías Freire (421 intervenciones) el 15/02/2006 22:05:09
En lugar de hacer semejante quilombo... no es más fácil hacer lo siguiente????

Private Sub Text1_KeyPress(KeyAscii As Integer)
If Chr(KeyAscii) = "." Then
KeyAscii = Asc(",")
End If

End Sub

bye!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar