| 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...
|
| |
|