El Guru Programador
Usuario DESCONOCIDO | Registrate Gratis | Usuarios Registrados
Foro de Visual Basic/VB.NET
Foros del Guru > Visual Basic/VB.NET
Usuario Control que perdió el foco
Desconocido
Enviado - 26/8/2004
 
Hola, estoy haciendo una aplicación para pantalla táctil y quiero que al pulsar un botón del teclado que aparece en pantalla ese carácter se escriba en el control que tenía el foco (siempre cuadros de texto). El problema es cómo saber en qué control estaba el foco antes de pulsar la tecla. En access usaba screen.previousControl pero en VB no se como hacerlo. No quiero tener que usar variables para recordar cada control que pierde el foco. ¿Alguien sabe como puede hacerse?
[email protected]
Gracias y un saludo
Marta
 
fmarredo
486 Mensaje(s)
Enviado - 26/8/2004
 
Podés hacer algo así:
Un form con un array de TextBox y 5 botones:

Option Explicit

Dim m_CtrlAnt As Control

Private Sub Command1_Click()
If TypeName(m_CtrlAnt) = "TextBox" Then
m_CtrlAnt.Text = 1
End If
End Sub

Private Sub Command2_Click()
If TypeName(m_CtrlAnt) = "TextBox" Then
m_CtrlAnt.Text = 2
End If
End Sub

Private Sub Command3_Click()
If TypeName(m_CtrlAnt) = "TextBox" Then
m_CtrlAnt.Text = 3
End If
End Sub

Private Sub Command4_Click()
If TypeName(m_CtrlAnt) = "TextBox" Then
m_CtrlAnt.Text = 4
End If
End Sub

Private Sub Command5_Click()
If TypeName(m_CtrlAnt) = "TextBox" Then
m_CtrlAnt.Text = 5
End If
End Sub

Private Sub Text1_LostFocus(Index As Integer)
Set m_CtrlAnt = Text1(Index)
End Sub
 
Desconocido
Enviado - 26/8/2004
 
Ya, pero de esta forma ya hace falta una variable que recuerda el control anterior y si en la página hay 20 textbox tendría que manejar 20 eventos lostfocus. Además si el evento inmediatamente anterior que tuvo el foco no fue un textbox, no quiero que escriba en el último textbox que tuvo el foco, sino que en ese caso no debería hacerse nada.
Muchas gracias de todas formas
 
spone2
1 Mensaje(s)
Enviado - 17/9/2004
 
Puedes crear una clase que llame al teclado en pantalla en modo modal y que retorne un valor que asignas al control activo, para mas información puedes contactarme...

 
 

 

Contactos myStudio Network